Bonsoir à tous, j'ai vraiment besoin de votre aide svp ! 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 une seule erreur que je devrais corriger moi même mais je n'arrive pas a trouver ! donc si vous pouviez m'aider à retrouver l'erreur ça serait sympa, et merci d'avance

Voici l'algorithme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
68
69
70
71
72
73
74
75
76
77
78
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 ;
finsi ;
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.