#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; }