Program S3;
Uses wincrt;
Type
Tab = Array[1..99] Of integer;
Var
T,T1 : Tab;
N : integer;
//**************************************
Procedure Saisie(Var N: integer);
Begin
Repeat
write('Taille du tableau [5..30] : ');
readln(N);
Until (N In [5..30]);
End;
//**************************************
Function Existe(T:Tab;N,x:integer) : Boolean;
Var
i : integer;
Begin
i := 1;
While (i<=N) And (T[i] <> x) Do
i := i+1;
Existe := (i<=N);
End;
//**************************************
Procedure Remplissage(Var T:Tab;N:integer);
Var
i : integer;
Begin
For i:=1 To N Do
Begin
Repeat
write('T[',i,'] = ');
readln(T[i]);
Until (T[i] In [1..99]) And (Not(Existe(T,i-1,T[i])));
End;
End;
//**************************************
Procedure Initialisation(Var T:Tab);
Var
i : integer;
Begin
For i:=1 To 99 Do
T[i] := 0;
End;
//**************************************
Procedure Trier(Var T:Tab;Var T1:Tab;N:integer);
Var
i,j : integer;
Begin
For i:=1 To N Do
T1[T[i]] := T[i];
j := 0;
For i:= 1 To 99 Do
Begin
If (T1[i]<>0) Then
Begin
j := j+1;
T[j] := T1[i];
End;
End;
End;
//**************************************
Procedure Affichage(T:Tab;N:integer);
Var
i : integer;
Begin
For i:=1 To N Do
write(T[i],'|');
End;
//**************************************
Begin
Saisie(N);
Remplissage(T,N);
Initialisation(T1);
Trier(T,T1,N);
Affichage(T1,N);
End.
Inscription à :
Publier les commentaires (Atom)