Дан двумерный массив целых чисел. сформировать одномерный массив, каждый элемент которого равен количеству нечетных отрицательных элементов соответствующей строки двумерного массива.
// PascalABC.NET 3.2, сборка 1363 от 17.12.2016 // Внимание! Если программа не работает, обновите версию!
begin var m:=ReadInteger('Количество строк в массиве:'); var n:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',m,',',n,'] ***'); var a:=MatrRandom(m,n,-50,50); a.Println(4); Writeln(4*a.ColCount*'-'); var b:=a.Rows.Select(x->x.Where(y->(y<0) and y.IsOdd).Count); b.Println; end.
Const n=10; m=10; var a: array[1..n,1..m] of integer; b: array[1..n] of integer; i,j,k: integer; begin; k:=0; writeln ('Двумерный массив:'); for i:=1 to n do begin for j:=1 to m do begin a[i,j]:=random(100)-50; write (a[i,j]:4); if (a[i,j]<0) and (abs(a[i,j] mod 2)=1) then k:=k+1; end; writeln; b[i]:=k; k:=0; end; writeln; writeln ('Сформирован одномерный массив:'); for i:=1 to n do write (b[i]:3); end.
Program z3; Var y: array [1..15] of real; g: array [1..20] of real; i,d: integer; sum, sum_2: real;Begin writeln('Введите оплату труда за день'); read(d); for i := 1 to 15 do y[i] := random (30) * d * 0.8; for i:=1 to 20 do g[i] := random (30) * d * 0.8; for i:=1 to 15 do begin writeln('Сотрудник y_',i,' - ',y[i]); sum:= sum + y[i]; end; writeln; writeln('Сумма отдела y - ', sum); writeln; for i:=1 to 20 do begin writeln('Сотрудник g_',i,' - ',g[i]); sum_2:= sum_2 + g[i]; end; writeln; writeln('Сумма отдела g - ', sum_2); writeln; End.
drontox1031
07.12.2020
Program z3; Var y: array [1..15] of real; g: array [1..20] of real; i,d, a,b: integer; sum, sum_2: real;Begin writeln('Введите оплату труда за день'); read(d); a:= 0; b:= 0; for i := 1 to 15 do begin y[i] := random (30); if (y[i] < 10) then a:= a + 1; y[i] := y[i] * d * 0.8; end; for i:=1 to 20 do g[i] := random (30); if (g[i] < 10) then b:= b + 1; g[i] := g[i] * d * 0.8; for i:=1 to 15 do begin writeln('Сотрудник y_',i,' - ',y[i]); sum:= sum + y[i]; end; writeln; writeln('Сумма отдела y - ', sum); writeln; for i:=1 to 20 do begin writeln('Сотрудник g_',i,' - ',g[i]); sum_2:= sum_2 + g[i]; end; writeln; writeln('Сумма отдела g - ', sum_2); writeln; writeln('В отделе y ', a, ' сотрудников работало меньше 10 дней'); writeln; writeln('В отделе g ', b, ' сотрудников работало меньше 10 дней'); End.
// Внимание! Если программа не работает, обновите версию!
begin
var m:=ReadInteger('Количество строк в массиве:');
var n:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',m,',',n,'] ***');
var a:=MatrRandom(m,n,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Rows.Select(x->x.Where(y->(y<0) and y.IsOdd).Count);
b.Println;
end.
Пример
Количество строк в массиве: 10
Количество столбцов в массиве: 13
*** Исходный массив [10,13] ***
-7 -30 -31 26 -19 4 -26 -37 -17 2 -7 -20 20
-6 33 -24 -14 -26 38 -11 -34 -40 -22 31 7 35
-24 -9 -35 -7 -14 -3 25 38 -30 -50 42 26 -15
45 -17 6 -18 27 25 -21 -21 1 -39 36 -27 -49
32 -38 -9 -17 42 -11 -31 -4 -23 33 48 40 -34
47 6 32 -26 33 -15 10 40 43 -44 11 28 1
-45 -23 6 26 -20 -20 -30 -15 16 12 -3 38 -42
3 6 39 17 0 8 -7 11 29 23 -2 -23 -21
1 13 -39 39 -44 30 5 -9 -17 43 41 2 2
17 19 32 -20 45 -16 -13 24 32 -46 -49 -25 6
6 1 5 6 5 1 4 3 3 3