Erreur tri rapide

salut,
pouvez-vous me dire ce quoi l'erreur de ce programme qui permet de trier un tableau avec la méthode de tri rapide (Quick sort)
j'essayer d'exécuter ce programme mais l'exécution se bloque!!!!!!!il y a une errreur qui une erreur qui m'a fait déchirer les chéveux.
voici le code:
program trirapide;
uses wincrt;
type
   tab=array[1..20]of integer;
var
    t:tab;
    n:integer;
{****************************************}
procedure saisie(var n:integer;var t:tab);
var
i:integer;
begin
    repeat
        write('n = ');readln(n);
    until n>=10;
    randomize;
    for i:=1 to n do
           t[i]:=random(30);
end;
{****************************************}
procedure affiche(n:integer;t:tab);
var
i:integer;
begin
    for i:=1 to n do
        write(t[i]:4);
end;
{****************************************}
procedure tri_rapide(var t:tab;g,d:integer);
var
i,j,aux:integer;
begin
if g<d then
  begin
    i:=g+1;j:=d;
    repeat
        while (i<j)and(t[i]<t[g]) do
              i:=i+1;
        while (i<=j)and(t[j]>=t[g]) do
              j:=j-1;
        if i<j then
           begin
               aux:=t[i];
               t[i]:=t[j];
               t[j]:=aux;
           end;

    until i>j;
    aux:=t[j];
    t[j]:=t[g];
    t[g]:=aux;
    tri_rapide(t,g,j-1);
    tri_rapide(t,j+1,d);
  end;
end;
{****************************************}
begin
    saisie(n,t);
    writeln('les éléments avant TRI : ');
    affiche(n,t);
    tri_rapide(t,1,n);
    writeln('les éléments après TRI : ');
    affiche(n,t);
end.


2 réponses

  • Votes
  • Date
  • Date décroissante
  1. mais je suis bloqué ?
    si j'arrive a trouver l'erreur j'ai pas besoin de poster ce problème,