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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
| program tri_p_classement;
uses wincrt;
TYPE
tab= array [1..25] of integer;
VAR
T,R:tab; n,j:integer;
procedure saisir (VAR n:integer);
begin
repeat
writeln('donner la taille du tableau');
readln(n);
until (n in [3..25])
end;
procedure remplir(VAR t:tab; n:integer); {procédure qui permet de remplir un tableau}
var
i:integer;
begin
For i:= 1 to n do begin
writeln('donner l''element du case ',i);
readln(T[i]);
end;
end;
function nbr_sup (T:tab; x,n:integer):integer;
VAR
occ,i:integer;
Begin
occ:=0;
For i:= 1 to n do begin
If (T[i]>x) then occ:=occ+1;
end;
nbr_sup:=occ;
end;
procedure tri_class (VAR R:tab; T:tab; n:integer);
VAR
i,k:integer;
Begin
k:=0;
For i:= 1 to n do begin
k:=nbr_sup (T,T[i],n);
R[k+1]:=T[i];
end;
end;
procedure afficher (R:tab; n:integer);
var
i:integer;
begin
For i:= 1 to n do
write('|',R[i]);
end;
begin
saisir(n);
remplir(T,n);
tri_class(R,T,n);
afficher(R,n);
end. |
Partager