Вдвумерном массиве в[1..6,1..6], полученном случайным образом и содержащем положительные и отрицательные числа, найти сумму элементов первого столбца, если полученная сумма больше суммы элементов главной диагонали, то создать одномерный массив, в который записать максимальные элементы строк исходного массива, в противном случае определить среднее арифметическое положительных и отрицательных чисел массива в.
n = 6;
var
b: array[1..n, 1..n] of integer;
a: array[1..n] of integer;
i, j, s1, s2, max: integer;
begin
Randomize;
Writeln('Исходный массив');
//max := -777; {заведомо меньше меньшего}
for i := 1 to n do
begin
for j := 1 to n do
begin
b[i, j] := Random(101) - 50;
Write(b[i, j]:4)
end;
Writeln
end;
s1 := 0; s2 := 0;
for i := 1 to n do begin s1 := s1 + b[1, j]; s2 := s2 + b[j, j] end;
if s1 > s2 then begin
Writeln('Сформированный массив');
for i := 1 to n do
begin
max := b[i, 1];
for j := 2 to n do if max < b[i, j] then max := b[i, j];
a[i] := max;
Write(max:4)
end
end
else begin
s1 := 0; s2 := 0;
for i := 1 to n do
for j := 1 to n do
if b[i, j] > 0 then s1 := s1 + b[i, j]
else s2 := s2 + b[i, j];
Writeln('Среднее арифметическое положительных элементов= ', s1/n);
Writeln('Среднее арифметическое отрицательных элементов= ', s2/n);
end
end.
Тестовые решения:
Исходный массив
-32 38 -10 42 -30 -35
-13 -22 14 -2 -42 0
-38 18 29 39 -26 19
15 23 -4 -31 21 8
-36 13 -26 -6 -13 -10
-11 38 40 11 -10 -22
Среднее арифметическое положительных элементов= 61.3333333333333
Среднее арифметическое отрицательных элементов= -69.8333333333333
Исходный массив
-37 -22 38 25 -23 21
-33 -50 32 42 -1 7
9 29 -9 21 29 -4
50 13 -33 -13 -47 10
25 46 18 47 15 48
-48 12 -39 -8 34 14
Сформированный массив
38 42 29 50 48 34