Прототип функции srand:
void srand( unsigned int seed );
Название | Язык |
---|---|
stdlib.h | С |
cstdlib | С++ |
Описание
Функция srand
выполняет инициализацию генератора случайных чисел rand
. Генератор псевдо-случайных чисел инициализируется с помощью аргумента seed
, который играет роль зерна.
Для любого другого значения, передаваемого через параметр seed
, и используемого при вызове функции srand
, алгоритм генерации псевдо-случайных чисел может генерировать различные числа с каждым последующим вызовом функции rand
.
Если использовать одно и то же значение seed
, с каждым вызовом функции rand
, алгоритм генерации псевдо-случайных чисел будет генерировать ту же самую последовательность чисел.
Если seed
установлен в 1, генератор инициализируется до первоначального значения и производит те же значения, как перед любым вызовом рандов или srand
.
Для того, чтобы генерировать случайные числа, функция srand
обычно инициализируется некоторыми различными значения, например, такие значения генерируются функцией time
. Значение, возвращенное функцией time
(объявлена в заголовке <ctime>
) отличается каждую секунду, что дает возможность получать совершенно случайные последовательности чисел, при каждом новом вызове функции rand
.
Параметры:
- seed
Целое значение, используемое для рандомизации псевдо-случайных чисел, генерируемых специальным алгоритмом.
Возвращаемое значение
Функция не возвращает никакого значения.
Пример: исходный код программы
//пример использования функции srand #include <iostream> #include <cstdlib> #include <ctime> int main () { std::cout << "Первое число: " << (rand() % 100) << "\n"; srand ( time(NULL) ); std::cout << "Случайное число: " << (rand() % 100) << "\n"; srand ( 1 ); std::cout << "Снова первое число: " << (rand() % 100) << "\n"; return 0; }
Пример работы программы
Случайное число: 69
Снова первое число: 83