Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2022, 13:31   #1
Damyen
Пользователь
 
Регистрация: 14.03.2022
Сообщений: 32
По умолчанию С++. Почему при функции rand() числа одинаковые?

Здравствуйте
Подскажите, почему при функции rand() числа получаются одинаковые? Разве они не должны каждый раз разные быть?
Изображения
Тип файла: jpg Рандом.jpg (38.2 Кб, 15 просмотров)
Damyen вне форума Ответить с цитированием
Старый 15.03.2022, 13:39   #2
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

https://en.cppreference.com/w/cpp/numeric/random/rand
Цитата:
std::srand() seeds the pseudo-random number generator used by rand(). If rand() is used before any calls to std::srand(), rand() behaves as if it was seeded with std::srand(1).
ForenLi вне форума Ответить с цитированием
Старый 15.03.2022, 13:45   #3
Damyen
Пользователь
 
Регистрация: 14.03.2022
Сообщений: 32
По умолчанию

Прощу прощения за глупый вопрос, а что значит "std::"? В тех нескольких книгах, что я читаю, весь код пишется без std.
Damyen вне форума Ответить с цитированием
Старый 15.03.2022, 13:51   #4
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

И как в этих книгах объясняется строка
Код:
using namespace std;
?

https://docs.microsoft.com/ru-ru/cpp...?view=msvc-170
https://ravesli.com/urok-53-prostranstva-imen/
ForenLi вне форума Ответить с цитированием
Старый 15.03.2022, 14:03   #5
Damyen
Пользователь
 
Регистрация: 14.03.2022
Сообщений: 32
По умолчанию

Ну я имею ввиду начало строки. "using namespace std" конечно же пишется
Damyen вне форума Ответить с цитированием
Старый 15.03.2022, 14:07   #6
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Цитата:
Сообщение от Damyen Посмотреть сообщение
"using namespace std" конечно же пишется
Зачем?
ForenLi вне форума Ответить с цитированием
Старый 15.03.2022, 14:44   #7
Damyen
Пользователь
 
Регистрация: 14.03.2022
Сообщений: 32
По умолчанию

Да я все, кажется разобрался, нужно было "ctime" включить.
А если написать вот такую строчку - n=rand() % 3, то число после знака процентов будет указывать нам диапазон рандомных чисел? У нас же знак процентов возвращает остаток от деления чисел...
Damyen вне форума Ответить с цитированием
Старый 15.03.2022, 15:04   #8
ForenLi
Форумчанин
 
Регистрация: 02.06.2021
Сообщений: 515
По умолчанию

Цитата:
Сообщение от Damyen Посмотреть сообщение
Да я все, кажется разобрался, нужно было "ctime" включить.
Нет, нужно было генератор инициализировать.

Цитата:
Сообщение от Damyen Посмотреть сообщение
А если написать вот такую строчку - n=rand() % 3, то число после знака процентов будет указывать нам диапазон рандомных чисел?
Практически, только это математика.

Цитата:
Сообщение от Damyen Посмотреть сообщение
У нас же знак процентов возвращает остаток от деления чисел...
И? Именно это и просходит.
ForenLi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# Почему при поиске моды числа выдает неверный результат? Вероника99 Помощь студентам 1 18.05.2016 06:31
Путаница в кратком определении функции rand. alekopoko Общие вопросы C/C++ 2 17.02.2014 22:56
Почему одинаковые шрифты разной высоты? Vitalik85 HTML и CSS 1 07.08.2012 00:11
Почему при написании dll без rtl не выходит экспорт функции?? dolphin705 Общие вопросы Delphi 13 02.02.2011 18:48
случайные значения, использование функции rand() Matr1x Общие вопросы C/C++ 3 10.02.2010 11:02