C ++ srand () - Стандартная библиотека C ++

Функция srand () в C ++ запускает генератор псевдослучайных чисел, используемый функцией rand ().

Функция srand () в C ++ запускает генератор псевдослучайных чисел, используемый функцией rand (). Начальное значение для функции rand () по умолчанию равно 1.

Это означает, что если перед rand () не вызывается srand (), функция rand () ведет себя так, как если бы она была засеяна srand (1).

srand () прототип

 void srand (беззнаковое целое семя);

Функция srand () принимает в качестве параметра целое число без знака, которое используется функцией rand () в качестве начального числа.

Это определено в заголовочном файле.

srand () Параметры

  • seed: начальное значение типа unsigned int

srand () Возвращаемое значение

  • Никто

Функция srand () не возвращает никакого значения.

Пример 1: Как работает функция srand ()?

 #include #include using namespace std; int main() ( int random = rand(); /* No srand() calls before rand(), so seed = 1*/ cout << "Seed = 1, Random number = " << random << endl; srand(5); /* Seed = 5 */ random = rand(); cout << "Seed = 5, Random number = " << random << endl; return 0; )

Когда вы запустите программу, вывод будет:

 Семя = 1, Случайное число = 41 Семя = 5, Случайное число = 54

Рекомендуется запускать генератор псевдослучайных чисел только один раз в начале программы и перед любыми вызовами rand (). Его не следует заполнять каждый раз, когда нам нужно создать новый набор чисел.

Стандартная практика - использовать результат вызова time (0) в качестве начального числа. Функция time () возвращает количество секунд, прошедших с 00:00 часов 1 января 1970 года по всемирному координированному времени (т.е. текущая временная метка unix). Ценность семян меняется со временем. Поэтому каждый раз, когда мы запускаем программу, генерируется новый набор случайных чисел.

Пример 2: функция srand () с time ()

 #include #include #include using namespace std; int main() ( srand(time(0)); int random = rand(); cout << "Seed = " << time(0) << endl; cout << "Random number = " << random << endl; return 0; )

Когда вы запустите программу, вывод будет:

 Seed = 1485583981 Случайное число = 22589

Интересные статьи...