//Видимо, это одна задача, так как "изменения" во второй не указаны //Pascal ABC.NET v3.1 сборка 1172
Const n=20;
Var ar:array[1..n] of integer; i:integer; begin randomize; writeln('First array:'); for i:=1 to n do begin ar[i]:=random(10)-3; write(ar[i]:4); if ar[i]>0 then ar[i]:=ar[i]*2 else ar[i]:=0; end; writeln; writeln('Final array:'); for i:=1 to n do write(ar[i]:4); end.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); Writeln('Кол-во положительных: ',a.ElementsByRow.Where(x->x>1).Count) end.