Uses crt;
type
mas=array[1..100] of integer;
Var n,i:integer;
mass:mas;
procedure quicks(first,last:integer;var m:mas);
var i,j,c,x,n:integer;
begin
i:=first;
j:=last;
x:=m[(first+last) div 2]; {выбираем серединный эл-нт массива и делим массив пополам}
repeat
while m[i]>x do i:=i+1; {считываем всю левую часть до этого элемента}
while x>m[j] do j:=j-1; {считываем всю правую часть до этого элемента}
if i<=j then
begin
c:=m[i]; {Сортируем элементы массива}
m[i]:=m[j];
m[j]:=c;
i:=i+1;
j:=i-1;
end;
until i>j;
if first<j then quicks(first,j,m);
if i<last then quicks(i,last,m);
end;
begin
clrscr;
writeln ('vvedite kol-vo el-ov massiva ');
Readln (n);
for i:=1 to n do begin
writeln ('vvedite ' ,i, 'element ');
readln (mass[i]); end;
writeln (' icxodnyi massiv ');
for i:=1 to n do write (mass[i]:4);
writeln;
writeln (' COPTUPOBAHHbIi MASSIV ');
quicks (1,n,mass);
for i:=1 to n do write (mass[i]:3);
Readln
end.