Не повторяющийся рандом в сдвоенном массиве
Можете помочь? Есть двумерный массив из 0 размером 10 на 10 рандомоно выбираем х и у. Допустим, х=1 и у=1 . Эту клетку мы из 0 делаем 1. Проблема в том что таких точек ( 1 ) у меня должно быть 3 штуки. Как сделать так чтобы при рандоме у меня не выпала та же самая клетка что и при первом рандоме? Допустим при первом рандоме мне выпало х=5 и у=7 и при втором рандоме выпало х=5 и у=7. Как сделать так чтобы точки не повторялись? Код на c++ консоль.
Ответы (1 шт):
Автор решения: ТарасПрогер
→ Ссылка
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
srand(time(NULL));
int arr[10][10] = { 0 };
const int quantity = 3;
int row = rand() % 10;
int column = rand() % 10;
for (int i = 0; i < quantity; )
{
if (arr[row][column] == 1) // без повторений
{
row = rand() % 10;
column = rand() % 10;
continue;
}
++i;
arr[row][column] = 1; // mina esti
}
system("pause");
return 0;
}