
Крашевский
5 год назад
Дан двумерный массив. Найти:а) минимальную сумму элементов строки;б) максимальную сумму элементов столбца.Обе задачи решить двумя способами:1) с использованием дополнительного одномерного массива;2) без использования дополнительного одномерного массива.
ОТВЕТЫ

Авдей
Oct 24, 2020
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:');
var a:=MatrRandom(n,m,-99,99);
Writeln('*** Исходный массив ***'); a.Println(4);
Writeln(4*a.ColCount*'-');
var min:=integer.MaxValue;
var b:array of integer;
for var i:=1 to a.RowCount-1 do begin
b:=a.Row(i); // строка в одномерном массиве
var s:=b.Sum;
if s<min then min:=s;
end;
var max:=integer.MinValue;
for var j:=1 to a.ColCount-1 do begin
b:=a.Col(j); // колонка в одномерном массиве
var s:=b.Sum;
if s>max then max:=s;
end;
Writeln('Минимальная сумма по строкам ',min);
Writeln('Максимальная сумма по колонкам ',max);
end.
Количество строк и столбцов в массиве: 5 8
*** Исходный массив ***
-89 16 35 74 -76 -3 -3 -25
54 -24 12 13 63 -60 4 92
74 82 12 12 -1 11 -29 -19
-72 -79 -3 -22 71 -53 57 -30
65 -25 2 -25 82 -73 4 -23
--------------------------------
Минимальная сумма по строкам -131
Максимальная сумма по колонкам 139
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:');
var a:=MatrRandom(n,m,-99,99);
Writeln('*** Исходный массив ***'); a.Println(4);
Writeln(4*a.ColCount*'-');
Writeln('Минимальная сумма по строкам ',
a.Rows.Select(row->row.Sum).Min);
Writeln('Максимальная сумма по колонкам ',
a.Cols.Select(col->col.Sum).Max);
end.
Количество строк и столбцов в массиве: 7 4
*** Исходный массив ***
-44 32 -66 -71
56 -99 83 27
-30 39 -65 -95
-40 6 37 37
75 23 -86 80
-12 98 -65 28
47 -85 25 -6
----------------
Минимальная сумма по строкам -151
Максимальная сумма по колонкам 52
55
Смежные вопросы: