Найти сумму наибольших значений элементов строк матрицы - Pascal ABC
Формулировка задачи:
Помогите пожалуйста составить программу. Условие: дан двумерный целочисленный массив, состоящий из случайных чисел в диапазоне от -20 до 20. Найти сумму наибольших значений элементов ее строк.
Решение задачи: «Найти сумму наибольших значений элементов строк матрицы»
textual
Листинг программы
uses Crt;
const high = 20;
low = -20;
n = 5;
k = 7;
type
massiv = array [1..n, 1..k] of integer;
var A : massiv;
Procedure In_Mas(var m:massiv; phight, plow : integer);
var i, j : byte;
Begin
for i:=1 to n do
for j:=1 to k do
m[i,j]:=plow+Random(phight-plow+1);
End;
Procedure Out_Mas(const m:massiv);
var i, j : byte;
Begin
for i:=1 to n do
begin
for j:=1 to k do
Write(m[i,j]:4);
WriteLn;
end;
End;
Function Maximum(const m:massiv):integer;
var i, j : byte;
max, sum : integer;
Begin
sum:=0;
max:= m[1,1];
for i:=1 to n do
begin
for j:=1 to k do
begin
if (m[i,j]>max) then max:=m[i,j];
end;
sum:=sum+max;
if i<n then max:= m[i+1,1];
end;
Maximum:=sum;
End;
BEGIN
Randomize;
ClrScr;
In_Mas(A, high, low);
WriteLn('A:');
Out_Mas(A);
WriteLn('Сумма = ', Maximum(A):4);
END.
Объяснение кода листинга программы
- В начале кода объявляются необходимые переменные и константы.
- В процедуре In_Mas происходит инициализация массива A случайными значениями, которые находятся в диапазоне от plow до phight.
- В процедуре Out_Mas происходит вывод содержимого массива A на экран.
- Функция Maximum находит максимальное значение в массиве A и возвращает его.
- В функции Maximum используется цикл, который проходит по всем элементам массива A. Если текущий элемент больше текущего максимального значения, то он становится новым максимальным значением. После завершения цикла, функция возвращает максимальное значение.
- В основной части программы происходит инициализация массива A, вывод его содержимого на экран и вывод максимального значения, найденного функцией Maximum.