Заполнение массива случайными неповторяющимися числами

Массив - 10 элементов. Генерация рандомных чисел до 20.

// #include <ctime> для time()

srand(time(NULL));

const int SIZE = 10; // размер массива
int arr[SIZE];  // массив

for (int i = 0; i < SIZE; i++)
{
	int isUniq = true; // проверка числа на уникальность
	int randomNum = rand() % 20; // генерация числа до 20

	for (int x = 0; x < i; x++) // перебор массива
	{

		if (arr[x] == randomNum) // если элемент массива = сгенерированному числу =>
		{
			isUniq = false; // число не уникально
			i--; // иттерация начинается заново
		}

	}

	if (isUniq == true) // если число уникальное =>
	{
		arr[i] = randomNum; // заполняем массив
	}

}




for (int i = 0; i < SIZE; i++) //вывод массива
{
	cout << arr[i] << endl;
}
  1. Создается массив из 10 элементов. int arr[SIZE];

  2. Мы генерируем случайное число до 20. int randomNum = rand() % 20;

  3. Перебираем массив и проверяем существует ли сгенерированное число уже в массиве.

  4. Если число уже существует в массиве, то генерируем заново. Если числа нету в массиве, то заполняем элемент массива этим числом

Last updated