1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
|
Uses Crt; {contient les procedures Clrscr , GotoXY et Textcolor}
Const ValMax = 40;
Type T_Array : array[1 .. ValMax] of Integer;
Procedure TRI (var Tab : T_array; Nb_Elts : Integer);
{ Objectif : Tri par ordre croissant d'un vecteur des nombres reels par le tri
par insertion }
{ Input : le tableau Tab non trie}
{Output : le tableau Tab trie}
Var lower, upper :integer;
value : reel;
Begin (*TRI_INSERT*)
For lower := 2 To Nb_Elts Do
Begin
value := Tab[lower];
upper := lower;
While (upper >1) And (Tab[upper-1] > value) Do
Begin
Tab[upper]:= Tab[upper-1];
upper:= upper - 1;
End;
Tab[upper] := value;
End;
End; (* TRI_INSERT *)
{--------------------------Programme Principal --------------------------------------- }
Var count,srand :integer;
T : T_Array;
Begin
Clrscr;
Randomize;
srand = 30;
For count := 1 To ValMax Do
Begin
T[count] := Random(srand);
Textcolor (10);
GotoXY(2+count,10);Write (T[count]:8);
End;
TRI_INSERT (T,Valmax);
For count := 1 To ValMax Do
Begin
Textcolor(14);
GotoXY (2+count,14);Write (T[count]:8);
End;
Readln;
End. |
Partager