Program t_1; const size=100; var a:array[1..size] of integer; i,n:integer;procedure quicksort(m1,t1:integer); var i1,j1,x1,w:integer; begin i1:=m1; j1:=t1; x1:=a[(m1+t1)div 2]; repeat while a[i1]<x1 do inc(i1); while a[j1]>x1 do dec(j1); if i1<=j1 then begin w:=a[i1]; a[i1]:=a[j1]; a[j1]:=w; inc(i1); dec(j1); end until i1>j1; if m1<j1 then quicksort(m1,j1); if i1<t1 then quicksort(i1,t1);end;begin readln(n); for i:=1 to n do read(a[i]); quicksort(1,n); writeln(a[n]);end.
// PascalABC.NET 3.2, сборка 1488 от 21.06.2017 // Внимание! Если программа не работает, обновите версию!
begin Write('Количество строк и столбцов в массиве: '); var (n,m):=ReadInteger2; Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-50,50); a.Println(4); Writeln(4*a.ColCount*'-'); var b:=a.Rows.SelectMany(x->x).Where(x->x>0).ToArray; Write('Массив b: '); b.Println end.
// Внимание! Если программа не работает, обновите версию!
begin
Write('Количество строк и столбцов в массиве: ');
var (n,m):=ReadInteger2;
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-50,50);
a.Println(4); Writeln(4*a.ColCount*'-');
var b:=a.Rows.SelectMany(x->x).Where(x->x>0).ToArray;
Write('Массив b: '); b.Println
end.
Пример
Количество строк и столбцов в массиве: 5 8
*** Исходный массив [5,8] ***
1 -36 -40 31 -12 18 9 -19
-18 -32 -30 10 9 -19 -13 -11
49 -20 -9 40 -32 37 4 38
-1 -48 -43 -5 25 16 20 22
25 -39 1 -4 -26 -18 44 -49
Массив b: 1 31 18 9 10 9 49 40 37 4 38 25 16 20 22 25 1 44