program tri_bac2010;
uses wincrt;
type
tab=array[1..100] of integer;
var t,res:tab;
n,nb:integer;
function verif(t:tab;p:integer):boolean;
var i:integer;
v:boolean;
begin i:=0;
repeat i:=i+1;
if t[i]=t[p] then v:=true else v:=false;
until(v) or (i=p-1);
verif:=v;
end;
procedure saisie(var t:tab; var n:integer);
var
i,x:integer;
begin repeat
write('Donner la taille du tableau ');
readln(n);
until n>1;
write('Donner une entier' ); readln(t[1]);
for i:=2 to n do repeat
write('T[',i,']= ');
readln(t[i]);
until verif(t,i)=false;;
end;
procedure creer_res(t:tab;var res:tab;var nb:integer);
var
i,j:integer;
begin
for i:=1 to n do begin
nb:=0;
for j:=1 to n do
if t[i]>=t[j] then nb:=nb+1;
res[nb]:=t[i];
end; end;
procedure affiche(res:tab);
var i:integer;
begin
for i:=1 to n do write(res[i],' ');
end;
begin
writeln('************** http://lfhm.unblog.fr ****************');
saisie(t,n);
creer_res(t,res,nb);
affiche(res);
end.