Задайте количество элементов и диапазон, затем используйте генератор из вместе с uniform_int_distribution. Это явно описывает распределение и удобнее, чем rand() с остатком от деления.
Сгенерировать вектор случайных целых чисел
Задайте количество элементов и диапазон, затем используйте генератор из <random> вместе с uniform_int_distribution. Это явно описывает распределение и удобнее, чем rand() с остатком от деления.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Необходимо объявить вектор целых чисел и заполнить его случайными элементами.
# include <vector>
# include <cstdlib>
std::vector<int> randomVec;
// заполнить случайными значениями
Ответ
Задайте количество элементов и диапазон, затем используйте генератор из вместе с uniform_int_distribution. Это явно описывает распределение и удобнее, чем rand() с остатком от деления.
Пример десяти чисел от 1 до 100 включительно:
#include <vector>
#include <random>
std::mt19937 generator(42);
std::uniform_int_distribution<int> distribution(1, 100);
std::vector<int> randomVec(10);
for (int& value : randomVec)
value = distribution(generator);
Фиксированный seed удобен для повторяемого эксперимента в одном окружении. Если нужна переменная инициализация, её источник выбирают отдельно. mt19937 не является криптографическим генератором и не подходит для секретных токенов.