Добрый день! Нужно в матрице размером N*N(N задает пользователь) найти максимальное значение, которое встречается в этой матрице более одного раза. Представляю себе это так:
- Ищем максимальное число
- Ищем сколько раз встречается максимальное число, если больше одного раза, то выводим. Если нет, то ищем другое максимальное число.
Пример моего кода:
for(i=1; i<=n;i++) //Ищем максимальное число
{
for(j=1; j<=n;j++)
{
if(max<Array[i][j]){
max=Array[i][j];
}
}
}
for( i=1; i<=n;i++) //Ищем сколько раз встречается максимальное число, если больше одного раза, то выводим. Eсли нет, то ищем другое максимальное число.
{
for( j=1; j<=n;j++)
{
if(Array[i][j]==max){
maks++;
}
if(maks>1){
cout<<max;
}
else{
cout<<"-"; // то есть таких чисел нет
}
}
}
Проблема состоит в том, что не могу догадаться, как сделать так, чтобы если максимальное число(к примеру 19), встречается меньше одного раза(или один раз), у меня находилось следующее максимальное число(например 17) и если оно тоже не подходит, то числа ищутся дальше. Может реализовать через do while?