program shella; {$APPTYPE CONSOLE} uses SysUtils; type massive=array[1..100000000] of integer; var today : TDateTime; var A:massive; n,i:integer; Procedure change (var k,l:integer); var tmp:integer; begin tmp:=k; k:=l; l:=tmp; end; procedure ShellSort(var A3:massive; n3:integer); var i,h,cur:integer; begin h:=n div 2; while h>0 do begin cur:=0; while cur+h+1<=n do begin if a3[cur+1]>a3[cur+h+1] then change(a3[cur+1],a3[cur+h+1]); inc(cur); end; h:=h div 2; end; end; begin writeln('n='); readln(n); randomize; today := Time; writeln('Time 1 = '+TimeToStr(today)); for i:=1 to n do a[i]:=1000-random(2000); // for i:=1 to n do write(a[i],' '); writeln; ShellSort(a,n); // for i:=1 to n do write(a[i],' '); today := Time; writeln('Time 2 = '+TimeToStr(today)); readln; end.