Определить сумму максимальных элементов каждого столбца матрицы - C (СИ) (71284)

Узнай цену своей работы

Формулировка задачи:

Задана вещественная матрица размером N×M. Определить сумму максимальных элементов каждого столбца матрицы. Не понимаю как задать условие сравнения значений по столбцу. Надеюсь на вас.

Решение задачи: «Определить сумму максимальных элементов каждого столбца матрицы»

textual
Листинг программы
//ÑóììГ* Гў Г¬Г*òðèöå ГЇГ® ñòîëáöó
 
#include <stdio.h>
 
int main(void) {
int i, j, M, N,k;
float fRes, fBuf, arrMatr[100][100];
 
fRes = 0;
fBuf = 0;
M = 3;
N = 3;
 
// arrMatr Г±Г*ìî ñîáîé äîëæГ*Г* áûòü Г·ГҐГ¬-ГІГ® Г§Г*ïîëГ*ГҐГ*Г*
arrMatr[0][0] = 1;
arrMatr[0][1] = 2;
arrMatr[0][2] = 3;
arrMatr[1][0] = 1;
arrMatr[1][1] = 2;
arrMatr[1][2] = -3;
arrMatr[2][0] = 3;
arrMatr[2][1] = 5.5;
arrMatr[2][2] = 1;
 
for(j=0; j<M; j++)
{
    k=0;
    
  for(i=0; i<N; i++)
  {
    if(k==0)fBuf = arrMatr[i][j];
    else if(arrMatr[i][j] > fBuf) fBuf = arrMatr[i][j];
    k=1;
  }
  fRes = fRes + fBuf;
}
 
printf("%f\r\n", fRes);
}

Объяснение кода листинга программы

В этом коде происходит следующее:

  1. Объявляются переменные:
    • i, j, M, N, k - целочисленные переменные для управления циклом;
    • fRes, fBuf - переменные с плавающей точкой для хранения результатов;
    • arrMatr[100][100] - матрица размером 100x100 для хранения чисел.
  2. Задаются начальные значения:
    • fRes и fBuf инициализируются нулем;
    • M и N инициализируются значениями 3 и 3 соответственно;
    • Элементы матрицы arrMatr инициализируются значениями.
  3. Запускается цикл по столбцам матрицы:
    • Внешний цикл for перебирает столбцы от 0 до M-1.
    • Внутренний цикл for перебирает строки текущего столбца от 0 до N-1.
    • Если переменная k равна нулю, то текущее значение элемента матрицы arrMatr[i][j] становится новым значением переменной fBuf.
    • Если текущее значение элемента матрицы arrMatr[i][j] больше значения переменной fBuf, то значение переменной fBuf обновляется.
    • Переменная k инкрементируется на единицу после каждой итерации внутреннего цикла.
  4. Сумма максимальных значений каждого столбца сохраняется в переменной fRes.
  5. Выводится результат - сумма максимальных значений каждого столбца матрицы.

Оцени полезность:

10   голосов , оценка 3.7 из 5
Похожие ответы