bonjour si vous pouvez m'aider j'aimerai trier un tableau à n élement avec les differents algorithmes de tri en pascal pouvez vous m'aider s'il vous plait merci d'avance
Où est ton problème? Tu n'arrives pas à implémenter ton algo en pascal ou tu n'arrives pas à le faire ?
En quoi consiste l'algo demandé ?
__________________________
............ Curtis: RTS 3D .............. ......
........... TeamMoteurProg...........
Voici 3 procédures (tri à bulles, séléction et insertion) je les ai pris de mes propres TP réalisés sous turbo pascal, ce qui est mis entre accolades constitue un commentaire ;)
{---- Procédure Tri à bulles ----}
procedure tri_bulles(var t:tab; n:integer);
var test:boolean;
i:integer;
begin
Repeat
test:=true; {INIT.}
For i:=1 to n-1 do
begin
if t[i]>t[i+1] then
begin
permut(t[i],t[i+1]);
test:=false;
end;
end;
Until test; {Répéter jusqu'à ce qu'aucune permutation n'est éxecuté et qui est signalé par test}
end;
{---- Procédure Tri par séléction ----}
procedure tri_selection(var t:tab; n:integer);
var i,j,imin:integer;
begin
for i:=1 to n-1 do
begin
imin:=i; {on cherche le min dans la partie i+1..n pour chaque valeur de i donnée}
for j:=i+1 to n do
begin
if t[imin]>t[j] then imin:=j; {imin reçoit l'indice de l'élément qui lui est inférieur}
end;
permut(t[i],t[imin]); {une fois le minimum trouvé on le permute sa valeur avec t[i]}
end;
end;
{--- PROCEDURE TRI PAR INSERTION ---}
Procedure tri_insertion(var t:tab; n:integer);
var i,j,aux:integer;
Begin
For i:=2 to n do
Begin
aux:=t[i]; {on range t[i] dans une variable temporaire}
j:=i;
While (t[j-1]>aux) AND (j>1) Do
{on le compare avec les i-1 éléments tout en décalant les éléments qui lui ont supérieur}
Begin
t[j]:=t[j-1];
j:=j-1;
End;
t[j]:=aux; {on s'arrête avant l'élément qui lui est inférieur et on le range dans sa bonne position}
End;
End;