Pagini recente » Cod sursa (job #2549261) | Cod sursa (job #1990318) | Cod sursa (job #601428) | Cod sursa (job #2747593) | Cod sursa (job #759002)
Cod sursa(job #759002)
type vector=array[1..100] of integer;
var n,q:integer;
f,g:text;
a,b:array[1..100] of integer;
procedure merge (var a:vector;i,j,mij:integer);
var o:array[1..100] of integer;
x,y,q,k:integer;
begin
x:=i;y:=mij+1; k:=i;
while (x<=mij) and (y<=j) do begin
if a[x]<a[y] then begin
o[k]:=a[x];
x:=x+1; end
else begin
o[k]:=a[y];
y:=y+1;end;
k:=k+1;
end;
while x<=mij do begin
o[k]:=a[x];
k:=k+1;
x:=x+1;end;
while y<=j do begin
o[k]:=a[y];
k:=k+1;
y:=y+1;end;
for q:=i to j do
a[q]:=o[q];
end;
procedure sort(var a:vector;st,dr:integer);
var mij:integer;
begin
if st<dr then begin
mij:=(st+dr) div 2;
sort (a,st,mij);
sort (a,mij+1,dr);
merge(a,st,dr,mij);
end;
end;
begin
assign (f,'algsort.in');reset (f);
assign (g,'algsort.out');rewrite (g);
read (f,n);
for q:=1 to n do
read(f,a[q]);
sort(a,1,n);
for q:=1 to n do
write (g,a[q],' ');
end.