Const
nn = 20;
var
a: array[1..nn, 1..nn] of integer;
i, j, n, k: integer;
begin
Write('Введите число строк (столбцов) матрицы: '); Readln(n);
Randomize;
Writeln('Исходная матрица');
for i := 1 to n do
begin
for j := 1 to n do
begin
a[i, j] := Random(101) - 50;
Write(a[i, j]:4)
end;
Writeln
end;
Writeln('Количество отрицательных элементов по столбцам');
for j := 1 to n do
begin
k := 0;
for i := 1 to n do
if a[i, j] < 0 then Inc(k);
Write(k:4)
end;
Writeln
end.
Тестовое решение:
Введите число строк (столбцов) матрицы: 10
Исходная матрица
22 12 -15 -42 29 49 26 -26 -3 -5
18 45 2 2 -3 -28 20 -15 -16 29
7 48 -13 -33 38 -22 39 28 -6 -50
23 37 -33 50 7 27 39 -8 -35 43
1 17 -11 -29 -35 -1 -27 37 -25 -36
8 -49 -17 34 -27 24 -26 -32 -30 0
-41 48 30 -3 23 31 28 3 45 20
-16 -23 -30 -8 -23 40 9 -35 -48 -12
-45 -49 2 -20 -7 21 4 -16 26 33
3 21 -29 15 33 4 38 43 -1 -15
Количество отрицательных элементов по столбцам
3 3 7 6 5 3 2 6 8 5