Bonjour à tous, donc voilà, on nous a demander d'écrire un algorithme qui tri les valeurs d'un fichier F d'entiers dans l'ordre croissant, j'ai proposé une solution mais le prof m'a dit qu'il y'avait quelques erreurs que je devrais corriger moi même mais je n'arrive pas a trouver ! donc si vous pouviez m'aider à retrouver les erreurs ça serait sympa, et merci à l'avance
Voici l'algorithme :
Algorithme Tri_F;
Type Tab = tableau [1...100] d'entiers ;
var F, w1, w2 : fichier d'entier
T : Tab ;
B : Booleen ;
I,N,P : entier ;
Procedure Tri_V ( E-S / V : Tab ; E/L : Entier );
Var I,J,x Entier ;
Debut
pour I := 1 a L-1
faire pour J:= 1 a L-I
faire si V [J] > V[J+1] ;
alors x : = V[J] ;
V [J] := V[J+1]
V[J+1] := x ;
finsi ;
fait;
fait;
fin;
Debut
assigner ( F, 'nombres.dat'); relire (F) ;
assigner (w1,' work1.tmp'); réecrire (w1);
assignier (w2;'work2.tmp');
tantque non FDF (F)
faire I:= 0
tantque ( I<100) et non FDF (F)
faire I:= I+1
lire (F, T[I]);
fait;
N := I ;
Tri_V (T,N);
Relire ( w1);
si FDF (w1)
alors reecrire (w1)
pour I:= 1 a N
faire ecrire (W1, T[I]) fait ;
sinon
reecrire (w2)
I:=1 ; B:=vrai ;
tantque non FDF (w1) et ( I<=N)
faire
si B alors lire ( w1, p ) ;
b:= faux ;
sinsi ;
si P< T [I]
alors ecrire ( w2, P) ; B:= vrai
sinon ecrire ( w2, T[I] ); I:= I+1
finsi;
fait ;
tantque non FDF ( w1)
faire ecrire ( w2, P) ; lire (w1,P) ; fait ;
tantque I<=N
faire ecrire ( w2, T[I]); I:= I+1 ; fait ;
relire (w2); reecrire (w1) ;
tantque non FDF(w2)
faire lire ( w2, P); ecrire ( w1,p); fait ;
fermer (w2) ;
finsi;
fait;
fermer (w1); fermer ( F) ;
FIN.
-----