Отыскать в массиве строку с наименьшей суммой элементов - Pascal ABC
Формулировка задачи:
Дан прямоугольный массив целых положительных чисел. Отыскать в массиве строку с наименьшей суммой элементов. Вывести на печать номер строки и сумму ее элементов. Предполагается, что такая строка единственна.
Решение задачи: «Отыскать в массиве строку с наименьшей суммой элементов»
textual
Листинг программы
const
m = 5;
n =4;
var
a:array[1..n,1..m] of integer;
i,j, k, sum, mins: integer;
begin
writeln('Исходный массив');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(10);
write(a[i,j]:2);
end;
writeln;
end;
mins:=maxint;
k:=0;
for i:=1 to n do
begin
sum:=0;
for j:=1 to m do
sum:=sum + a[i,j];
if sum < mins then
begin
mins:=sum;
k:=i;
end;
end;
writeln('Минимальная сумма элементов = ',mins,' в строке ', k);
end.
Объяснение кода листинга программы
В данном коде объявлены следующие переменные:
- m и n - целочисленные константы, которые определяют размер массива и количество строк в массиве.
- a - массив целых чисел, в котором будут храниться значения строк.
- i, j, k, sum, mins - целочисленные переменные, которые будут использоваться для обработки массива. Код начинается с вывода исходного массива. Затем происходит итерация по строкам массива. В каждой итерации суммируются значения элементов строки и выводится значение суммируемого элемента. Если сумма текущей строки меньше минимальной суммы, то обновляется значение минимальной суммы и индекс строки, которая содержит минимальную сумму. В конце кода выводится минимальная сумма элементов и индекс строки, содержащей эту сумму.