В матрице найти строку с наибольшей суммой элементов - Pascal ABC
Формулировка задачи:
Дан целочисленный квадратный массив 7х7. Найти строку с наибольшей суммой элементов.
Решение задачи: «В матрице найти строку с наибольшей суммой элементов»
textual
Листинг программы
const n = 7;
Var a:array[1..n,1..n] of integer; i,j,ts,smax,nmax:integer;
Begin
Randomize;
smax:=0;
For i:=1 to n do
Begin
For j:=1 to n do
a[i,j]:=random(100)-50;
End;
For i:=1 to n do
Begin
For j:=1 to n do
begin
write( a[i,j], ' ');
end;
writeln;
End;
smax := -1000;
nmax:=0;
For i:=1 to n do
Begin
ts:=0;
For j:=1 to n do
begin
ts := ts + a[i,j];
end;
if smax < ts then
begin
smax := ts;
nmax := i;
end;
End;
Writeln('max stroka: ',nmax,' summa:',smax);
End.
Объяснение кода листинга программы
- Переменная n инициализируется значением 7.
- Создается переменная a типа array[1..n,1..n] of integer.
- Инициализируются три переменные: i, j и ts.
- Инициализируется переменная smax значением 0.
- Запускается цикл For i:=1 до n do, внутри которого запускается вложенный цикл For j:=1 до n do. Внутри вложенного цикла каждому элементу a[i,j] присваивается случайное значение от 0 до 100.
- После окончания вложенного цикла выводится информация о каждом элементе матрицы a[i,j].
- Переменная smax обновляется, если текущая сумма элементов a[i,j] больше предыдущей.
- Переменная nmax инициализируется значением 0.
- Запускается цикл For i:=1 до n do, внутри которого запускается вложенный цикл For j:=1 до n do. Внутри вложенного цикла переменная ts инициализируется значением 0.
- Внутри вложенного цикла переменная ts увеличивается на сумму a[i,j].
- Если текущая сумма a[i,j] больше предыдущей, то обновляется переменная smax и переменной nmax присваивается значение i.
- По окончании внешнего цикла выводится информация о максимальной строке и ее сумме.