У меня есть эта функция, и я хочу, чтобы ваша помощь находила, если есть более одного максимума. Если существует более одного максимума, я хочу напечатать «no unique max».Как подсчитать, сколько максимумов в массиве?
ниже код успешно находит максимум, но счетчик, который countes сколько раз появляется не работает максимум, и я получаю сообщение:
предложить скобки вокруг пустого тела с
int find_max(int b[N][N])
{
int max = b[0][0];
int x,y;
int counter=0;
int a=0,v=0,c=0;
for (x = 0; x < N; x++)
{
for (y = 0; y < N; y++)
{
if (max < b[x][y])
{
max = b[x][y];
a=x;
v=y;
}
}
}
c=((a*10)+v);
for (x = 0; x < N; x++)
{
for (y = 0; y < N; y++)
{
if(max);
{
counter++;
}
}
}
if(counter>1)
printf("no uniqe max");
else
return c;
}
Вы должны быть в состоянии сделать всю партию за один проход через массив. Если текущее значение больше текущего максимума, запишите новый максимум и установите счетчик равным 1. Если текущее значение равно текущему максимуму, добавьте его к счету. В противном случае игнорируйте строку. –
'if (max);' ничего не делает из-за ';'. – chux