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

Класс uniform_int_distribution

Класс uniform_int_distribution из заголовка random предназначен для генерации случайных целых чисел, которые равномерно распределены на заданном отрезке. Это означает, что каждое число из указанного диапазона имеет одинаковую вероятность выпадения. В первом параметре конструктора мы передаём начало диапазона, а во втором - конец диапазона (оба включительно). Для получения самого числа используется оператор вызова operator, которому в качестве аргумента передаётся генератор случайных чисел, например mt19937.

Синтаксис

#include <random> uniform_int_distribution<int> dist(min, max); dist(gen)

Пример

Давайте сгенерируем 5 случайных целых чисел в диапазоне от 1 до 10:

#include <iostream> #include <random> using namespace std; int main() { random_device rd; mt19937 gen(rd()); uniform_int_distribution<int> dist(1, 10); for (int i = 0; i < 5; i++) { cout << dist(gen) << " "; } cout << endl; return 0; }

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

3 7 1 10 5

Пример

Давайте сгенерируем случайное число в диапазоне от 0 до 100 и выведем его:

#include <iostream> #include <random> using namespace std; int main() { random_device rd; mt19937 gen(rd()); uniform_int_distribution<int> dist(0, 100); int res = dist(gen); cout << res << endl; return 0; }

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

42

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

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