// PascalABC.NET 3.3, сборка 1573 от 04.11.2017 // Внимание! Если программа не работает, обновите версию!
begin var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-35,60); a.Println(4); Writeln(4*a.ColCount*'-'); a.Rows.Select(row->row.Where(t->t<0).Count).Println end.
// PascalABC.NET 3.0, сборка 1073 const nn=30; mm=30; var a:array[1..mm,1..nn] of integer; m,n,i,j,k,s:integer; begin Writeln('Введите число строк и столбцов массива: '); Read(m,n); Randomize; Writeln('*** Исходный массив ***'); k:=0; for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=Random(51)-25; Write(a[i,j]:4); if Odd(a[i,j]) then Inc(k) end; Writeln end; if k>5 then begin Writeln('Средние арифметические отрицательных элементов по строкам'); for i:=1 to m do begin s:=0; k:=0; for j:=1 to n do if a[i,j]<0 then begin Inc(k); s:=s+a[i,j] end; if k>0 then Writeln(s/k:9:5) else Writeln(' 0.00000'); end end else begin Writeln('*** Результирующий массив ***'); for i:=1 to m do begin for j:=1 to n do begin a[i,j]:=2*a[i,j]; Write(a[i,j]:4) end; Writeln end end end.
// Внимание! Если программа не работает, обновите версию!
begin
var (n,m):=ReadInteger2('Количество строк и столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-35,60);
a.Println(4); Writeln(4*a.ColCount*'-');
a.Rows.Select(row->row.Where(t->t<0).Count).Println
end.
Пример
Количество строк и столбцов в массиве: 5 8
*** Исходный массив [5,8] ***
-21 50 17 -12 -30 10 -9 10
39 1 0 41 -29 26 28 16
50 52 13 36 43 -6 37 5
34 -3 27 13 29 -30 49 36
-17 -12 39 52 -15 -8 27 -9
4 1 1 2 5