Содержание | Глава 18

Функция srand

#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()
Содержание | Глава 18