#include <stdlib.h>
void srand(unsigned seed);
Функция srand() устанавливает исходное число для последовательности, генерируемой функцией rand(). (Функция rand() возвращает псевдослучайные числа.)
Часто функция srand() используется, чтобы при различных запусках программа могла использовать различные последовательности псевдослучайных чисел, — для этого она должна задавать различные исходные числа. Кроме того, с помощью функции srand() можно многократно генерировать одну и ту же последовательность псевдослучайных чисел, — для этого нужно задавать в качестве исходного числа одно и то же значение. Иными словами, чтобы многократно генерировать одну и ту же последовательность псевдослучайных чисел, нужно вызывать данную функцию с одним и тем же значением параметра seed до начала генерации этой последовательности.
Пример
Следующая программа использует системное время в качестве параметра srand(). Это позволяет инициализировать функцию rand() случайным числом.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/* Засевает rand() при помощи системного времени
и отображает 10 чисел.
*/
int main(void)
{
int i, stime;
long ltime;
/* получает текущее календарное время */
ltime = time(NULL);
stime = (unsigned) ltime/2;
srand(stime);
for(i=0; i<10; i++) printf("%d ", rand());
return 0;
}
Зависимые функции
rand()