//Лень было расписывать быструю сортировку, так что вот "пузырёк"
//Pascal ABC.NET 3.1 сборка 1219
Const
n=10;
Var
i:integer;
procedure booblesort(var ar:array of integer;n:integer);
Var i,j:integer;
begin
for i:=0 to n-1 do
for j:=i+1 to n do
if (ar[i]>ar[j]) and (ar[i]>0) and (ar[j]>0) then swap(ar[i],ar[j]);
end;
begin
randomize;
var ar:=ArrRandomInteger(n,-10,10);
writeln('First array:');
ar.Println;
booblesort(ar,n-1);
writeln('Final array:');
ar.println;
end.
Пример работы программы:
First array:
-9 -5 5 -9 4 -3 -9 4 10 8
Final array:
-9 -5 4 -9 4 -3 -9 5 8 10