Дан целочисленный прямоугольный массив 6x10. опишите в программе "паскальавс" алгоритм вычисления количества положительных элементов в каждой строке этого массива
Const N = 6; M = 10; Var A:array[1..N,1..M] of integer; i,j,k:integer; Begin Randomize; WriteLn('Исходный массив(',N,',',M,'):'); For i:= 1 to N do Begin k:=0; For j:= 1 to M do Begin A[i,j]:=random(21)-10; Write(A[i,j]:4); if A[i,j] > 0 then k:=k+1; End; WriteLn(', k = ',k) End; End.
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 const КолСтрок=3; КолСтолбцов=5; begin var Массив: array [1..КолСтрок,1..КолСтолбцов] of integer; var СуммыПоСтрокам: array[1..КолСтолбцов] of integer; Writeln('Введите элементы массива (',КолСтрок,',', КолСтолбцов,') построчно:'); for var строка:=1 to КолСтрок do for var столбец:=1 to КолСтолбцов do begin Read(Массив[строка,столбец]); СуммыПоСтрокам[строка]+=Массив[строка,столбец] end; Writeln('Суммы построчно:'); for var строка:=1 to КолСтрок do Print(СуммыПоСтрокам[строка]) end.
2. Длинный "школьный" вариант ("почувствуйте разницу")
// PascalABC.NET 3.1, сборка 1230 от 27.04.2016 var a:array[1..50] of integer; i,s:integer; begin Randomize; s:=0; for i:=1 to 50 do begin a[i]:=Random(31)-10; Write(a[i],' '); if (a[i]>0) and Odd(i) then s:=s+a[i] end; Writeln; Writeln('Sпол.неч = ',s) end.
N = 6;
M = 10;
Var
A:array[1..N,1..M] of integer;
i,j,k:integer;
Begin
Randomize;
WriteLn('Исходный массив(',N,',',M,'):');
For i:= 1 to N do
Begin
k:=0;
For j:= 1 to M do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:4);
if A[i,j] > 0 then k:=k+1;
End;
WriteLn(', k = ',k)
End;
End.
Пример работы программы:
Исходный массив(6,10):
8 5 -1 -1 -2 -10 10 -8 -7 5, k = 4
8 3 2 5 5 6 -2 3 1 1, k = 9
1 7 7 4 10 1 6 7 7 10, k = 10
10 -4 -8 -8 4 4 -3 0 3 -7, k = 4
-6 -3 1 7 -7 7 2 -1 7 -5, k = 5
6 5 -6 5 7 -10 9 5 0 7, k = 7