В матрице найти номер строки, имеющей максимальную сумму элементов - PascalABC.NET
Формулировка задачи:
Помогите
Написать процедуру и функцию, которая находит в прямоугольной матрице номер строки, имеющей максимальную сумму элементов. В основной программе ввести матрицу и проверить работу подпрограмм.
Зарание благодарен
Решение задачи: «В матрице найти номер строки, имеющей максимальную сумму элементов»
textual
Листинг программы
{Написать процедуру и функцию, которая находит в прямоугольной
матрице номер строки, имеющей максимальную сумму элементов.
В основной программе ввести матрицу и проверить работу подпрограмм.}
type
myArray = array [,] of integer;
///Возвращает строку с максимальной суммой элементов
function IndexMaxSum(A: myArray; n, m: Byte): integer;
begin
result := 0;
var maxSum := -100 * n;
for var i := 0 to n - 1 do begin
var s := -100 * n;
for var j := 0 to m - 1 do
S := S + a[i, j];
if maxSum < S then begin
maxSum := S;
result := i
end
end;
inc(result)
end;
///Вводит массив
procedure InputArray(var A : myArray; n, m: Byte);
begin
SetLength(A, n, m);
randomize;
for var i := 0 to n - 1 do begin
for var j := 0 to m - 1 do begin
a[i, j] := random(-100, 200);
write(a[i, j]:5)
end;
writeln
end
end;
var
n, m: byte;
A: myArray;
begin
n := 5;
m := 7;
InputArray(A, n, m);
writeln;
write('Строка с максимальной суммой элементов: ', IndexMaxSum(A, n, m))
end.
Объяснение кода листинга программы
В данном коде реализованы две процедуры:
IndexMaxSum, которая принимает двумерный массивAразмеромnнаm, а также числаnиm(размеры массива) в качестве параметров. Функция находит в матрице строку с максимальной суммой элементов и возвращает её номер.InputArray, которая принимает двумерный массивAразмеромnнаmи числаnиmв качестве параметров. Процедура заполняет массив случайными числами от -100 до 200 и выводит его на экран. В основной программе объявлены переменныеn,mиAтипаbyte. Значения переменныхnиmустанавливаются равными 5 и 7 соответственно. Затем вызывается процедураInputArray, чтобы заполнить массивAслучайными числами. После этого выводится сообщение с результатом работы функцииIndexMaxSum, которая возвращает номер строки с максимальной суммой элементов массиваA.