РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
116 of 815 menu

Функция srand

Функция srand устанавливает начальное значение (зерно, seed) для генератора псевдослучайных чисел, который используется функцией rand. Если не вызвать srand перед первым вызовом rand, генератор будет инициализирован значением 1, и последовательность случайных чисел будет одинаковой при каждом запуске программы. В первый параметр мы передаем целое число без знака - зерно генератора. Обычно в качестве зерна используют текущее время, полученное с помощью time с аргументом NULL.

Синтаксис

srand(seed)

Пример

Давайте инициализируем генератор случайных чисел фиксированным зерном 42 и выведем три случайных числа:

#include <iostream> #include <cstdlib> using namespace std; int main() { srand(42); cout << rand() << endl; cout << rand() << endl; cout << rand() << endl; return 0; }

Результат выполнения кода:

71876166 708592740 1483128881

Пример

Давайте инициализируем генератор текущим временем, чтобы при каждом запуске программы получать новую последовательность случайных чисел:

#include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { srand(time(NULL)); cout << rand() << endl; cout << rand() << endl; cout << rand() << endl; return 0; }

Результат выполнения кода:

1804289383 846930886 1681692777

Пример

Давайте сгенерируем случайное число в диапазоне от 1 до 100, используя остаток от деления:

#include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main() { srand(time(NULL)); int res = rand() % 100 + 1; cout << res << endl; return 0; }

Результат выполнения кода:

57

Смотрите также

  • функция rand,
    которая возвращает псевдослучайное число
  • класс mt19937,
    который представляет современный генератор случайных чисел
  • класс random_device,
    который генерирует истинно случайные числа
  • класс uniform_int_distribution,
    который задаёт равномерное распределение целых чисел
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить