Найти максимальный элемент в каждом столбце

    #include <iostream>
using namespace std;

int main()
{
    const int ROWS = 5;
    const int COLS = 5;

    float array[ROWS][COLS];

    int count = 0;

    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            cout << (array[i][j] = rand() % 10) << "\t";
        }
        cout << endl;
    }

    /*for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            if (array[j][i] == 0)
                count++;
        }
    }*/

    int tempmax = array[0][0];
    for (int i = 0; i < ROWS; i++)
    {
        for (int j = 0; j < COLS; j++)
        {
            if (array[j][i] > tempmax)
            {
                tempmax = array[j][i];
            }
        }
    }
    
    cout << tempmax;

Ответы (3 шт):

Автор решения: MBo

Раз нужно найти максимум в столбце, то и внешний цикл делайте по столбцам, в начале цикла задавая временный максимум

→ Ссылка
Автор решения: Harry
for (int j = 0; j < COLS; j++)
{
    int tempmax = array[0][j];
    for (int i = 1; i < ROWS; i++)
        if (array[i][j] > tempmax)
            tempmax = array[i][j];
    cout << tempmax;
}

"Вот так как-то" (с)

→ Ссылка
Автор решения: DmitryK

Как написал @MBo сначала цикл по столбцам

int tempmax[COLS]; // максимальных значений столько, сколько столбцов
for (int j = 0; j < COLS; j++) // сначала цикл по столбцам
{
  tempmax[j] = array[0][j]; // первоначальное значение == первому элементу
  for (int i = 1; i < ROWS; i++)  // внутри - цикл по строкам      
  {
     if (array[i][j] > tempmax[j])
     {
        tempmax[j] = array[i][j];
     }
  }
}
→ Ссылка