Создаем отдельную переменную где будем хранить сгенерированное число и проверяем нету ли его уже в массиве. Если число уже есть, то начинаем итерацию заново (i--), если числа нету, то заполняем массив.
const int ROW = 3;
const int COL = 4;
int arr[ROW][COL]; //массив
int randomNum; // число сгенерированное rand()
for (int i = 0; i < ROW; i++)
{
for (int j = 0; j < COL; j++)
{
randomNum = rand() % 100; // генерируем число
if (randomNum == arr[i][j]) // проверяем есть ли уже такой элемент
{
i--;
}
else // если уникально заполняем элемент массива
{
arr[i][j] = randomNum;
}
}
}
for (int i = 0; i < ROW; i++) // вывод двумерного массива
{
for (int j = 0; j < COL; j++)
{
cout << arr[i][j] << "\t";
}
cout << endl;
}