Ответ: перебор всегда работает но возможно не рационален
int main()
{
SetConsoleCP(1251);// установка кодовой страницы win-cp 1251 в поток ввода
SetConsoleOutputCP(1251); // установка кодовой страницы win-cp 1251 в поток вывода
setlocale(LC_ALL, "Russian");
int mass[4][5];
int max = 0;
int count = 0;
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
mass[i][j] = rand() % 5;
cout << mass[i][j] << " ";
}
cout << endl;
}
for (int i1 = 0; i1 < 3; i1++)
{
for (int j1 = 0; j1 < 4; j1++)
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 4; j++)
{
if (mass[i1][j1] == mass[i][j])
{
count++;
}
}
if ((count > 1) && (mass[i1][j1] >= max))
{
max = mass[i1][j1];
}
count = 0;
}
}
}
cout << endl << max;