Нахождение суммы наибольших значений строк целочисленной двумерной матрицы - PascalABC.NET
Формулировка задачи:
Дана целочисленная матрица размером n*m. Написать программу, позволяющую находить сумму наибольших значений ее строк.
Напишите пожалуйста эту программу с процедурой и отдельно с функцией. Спасибо большое.
Решение задачи: «Нахождение суммы наибольших значений строк целочисленной двумерной матрицы»
textual
Листинг программы
begin
var N := ReadLnInteger('N =');
var M := ReadLnInteger('M =');
var A : array [,] of Integer;
SetLength(A, N, M);
for var Row := 0 to N-1 do
for var Col := 0 to M-1 do
A[Row, Col] := ReadLnInteger('A[' + (Row+1).ToString + ',' + (Col+1).ToString + '] =');
var Sum := 0;
for var Row := 0 to N-1 do
begin
var maxVal := A[Row, 0];
for var Col := 1 to M-1 do
maxVal := max(maxVal, A[Row, Col]);
Sum += maxVal;
end;
WriteLn('Сумма наибольших значений строк = ', Sum);
end.
Объяснение кода листинга программы
- Ввод размеров матрицы N и M с помощью функции ReadLnInteger.
- Создание двумерного массива A с помощью функции SetLength.
- Ввод значений матрицы A с помощью цикла двойной вложенности и функции ReadLnInteger.
- Инициализация переменной Sum для хранения суммы наибольших значений строк.
- Цикл по строкам матрицы A.
- Внутри цикла поиск наибольшего значения в текущей строке с помощью цикла по столбцам и функции max.
- Добавление найденного максимального значения в переменную Sum.
- Вывод результата на экран с помощью функции WriteLn.