// PascalABC.NET 3.2, сборка 1439 от 09.05.2017
// Внимание! Если программа не работает, обновите версию!
№1
begin
var s:=ArrRandom(ReadInteger('k='),1,50); s.Println;
var min:=s.Min;
s.Transform(x->x-Min); s.Println
end.
Пример
k= 13
41 31 28 2 50 46 7 31 40 30 13 8 26
39 29 26 0 48 44 5 29 38 28 11 6 24
№2
begin
var m:=ReadInteger('Количество строк в матрице:');
var k:=ReadInteger('Количество столбцов в матрице:');
Writeln('*** Исходная матрица [',m,',',k,'] ***');
var a:=MatrRandom(m,k,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
Writeln('Первые положительные элементы в строках');
a.Rows.Select(r->r.Where(x->x>0).Take(1)).SelectMany(x->x).Println
end.
Пример
Количество строк в матрице: 5
Количество столбцов в матрице: 8
*** Исходная матрица [5,8] ***
-91 -83 -26 4 -40 33 -40 -6
71 -87 -8 65 94 -19 59 -9
-91 -17 69 32 30 90 63 4
-53 -52 93 4 -34 -70 -75 -95
-99 -42 95 69 -70 -62 39 -22
--------------------------------
Первые положительные элементы в строках
4 71 69 93 95