program tstsort; { -> 172 } { test speed of sorting routine } const max = 1000; type ary = array[1..300] of real; var x : ary; n,i : integer; seed : real; first : boolean; external procedure cls; {$I RANDOM.LIB } procedure print; var i : integer; begin writeln; for i:=1 to n do begin write(x[i]:7:2); if (i mod 10)=0 then writeln end end; procedure { bubble- } sort(var a: ary; n: integer); var i,j : integer; hold : real; begin { procedure sort } for i:=1 to n-1 do for j:=i+1 to n do begin if a[i]>a[j] then begin hold:=a[i]; a[i]:=a[j]; a[j]:=hold end end { for } end; { procedure sort } begin { MAIN program } cls; seed:=4.0; repeat repeat writeln; write('How many points? '); readln(n) until n<=max; if first then first:=false else cls; for i:=1 to n do x[i]:=100*random(0); print; write(chr(7)); sort(x,n); { random numbers } write(chr(7)); print; writeln(' random '); write(chr(7)); sort(x,n); { sorted numbers } write(chr(7)); print; writeln(' sorted '); for i:=1 to n do x[i]:=n+1-i; write(chr(7)); print; writeln(' reversed '); until n<5 end.