Найти максимальный элемент в каждом столбце
#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];
}
}
}