euhh pasqu'il y en a 23 désolé j'ai pas tout mis dans le fichier de tout a l'heure je voulais pas surcharger pour rien le topic... je vais corriger mes erreurs et essayer
merci encore !!
euhh pasqu'il y en a 23 désolé j'ai pas tout mis dans le fichier de tout a l'heure je voulais pas surcharger pour rien le topic... je vais corriger mes erreurs et essayer
merci encore !!
oki bon ca marche bien par contre mon probleme était dans la partie avec les strtok(), que j'utilise pour sortir toutes les valeurs d'un fichier qui ressemble a ceci:
séparés par deux \t
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 ID Depart ID Arrivee Distance ============================================================= 2 3 259 2 5 16960 2 6 9092 2 7 5835 2 8 5505 2 9 9203 2 10 1479 2 11 9343 2 12 6278 2 13 5000 2 14 4202 2 15 3330 2 16 1758 2 17 1343 2 18 10734 2 20 18985 2 21 7722 2 22 9169 2 25 9445 2 31 2489 2 41 9716 2 42 8965 3 5 16746 3 6 3288 3 7 5889 3 8 5538 3 9 9255 3 10 1619 3 11 9523 3 12 6385 3 13 5238 3 14 4462 3 15 3293 3 16 1696 3 17 1091 3 18 10559 3 20 18726 3 21 7848 3 22 9426 3 25 9252 3 31 2258 3 41 9456 3 42 8708 5 6 14399 5 7 15994 5 8 16029 5 9 12965 5 10 16485 5 11 11007
bien evidemment incomplet celui la aussi vu le nombre de lignes de correspondances...
deja est ce que j'utilise la bonne methode avec strtok pour mettre en memoire dans un tableau toutes les valeurs de ce fichier ?? pendant ce temps je vais corriger toutes mes erreurs ailleurs
Comme je te l'ai expliqué 3000 fois, les tabiulations, c'est pas une bonne idée. C'est le premier truc qui saute dans le HTML (et dans mon éditeur qui remplace les tabs par des espaces...)...Envoyé par BnY
Bref, je refais ton fichier chez moi en mettant un ; comme séparateur.
Les différences entre ton code et le mien sont donc regroupées dans le #if 0 #else #endif, comme tu semble enfin l'avoir compris...
Et je passe sur les noms de fichiers tordus, franchement tu joues avec le feu...
EDIT : Il est clair qu'une fois que tu as 'affiché les lignes', il faut revenir au début si tu veux refaire un traitement : rewind(), puis à nouveau sauter 2 lignes... avant d'analyser...bien evidemment incomplet celui la aussi vu le nombre de lignes de correspondances...
deja est ce que j'utilise la bonne methode avec strtok pour mettre en memoire dans un tableau toutes les valeurs de ce fichier ?? pendant ce temps je vais corriger toutes mes erreurs ailleurs
Ceci marchouille.
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230 #include<stdio.h> #include<stdlib.h> #include<string.h> #if 0 #define MAX_AEROPORTS 23 #define F_AIRPORTS "C:\\Program Files\\Microsoft Visual Studio\\MyProjects\\testlogincorrigé\\tlogcorr\\FicCaracteristiquesAeroport.txt" #define F_CONNEXIONS "C:\\Program Files\\Microsoft Visual Studio\\MyProjects\\testlogincorrigé\\tlogcorr\\FicCorrespondanceAeroport.txt" const char* sep = "\t"; #else /* simplicite... */ #define MAX_AEROPORTS 23 #define F_AIRPORTS "airport.txt" #define F_CONNEXIONS "corresp.txt" const char* sep = ";"; #endif static void clean (char *s, FILE *fp) { /* search ... */ char *p = strchr (s, '\n'); if (p != NULL) { /* ... and kill */ *p = 0; } else { /* purge */ int c; while ((c = fgetc(fp)) != '\n' && c != EOF) { } } } static int sauterdeuxlignes(FILE *flot) { int n = 0; int c; while (n < 2 && (c = fgetc(flot)) != EOF ) { if (c == '\n') { n++; } } printf ("c = %d\n", c); return c; } static void afficher_fichier(FILE *flot) { char chaine[128]; while (fgets(chaine, sizeof (chaine), flot) != NULL) { printf("%s", chaine); } } static int IDtoPO(int ID, int *tablo, int taille) { int a = -1; int i; for (i = 0;i < taille;i++) { if (ID == tablo[i]) { a = i; break; } } return a; } int main (void) { int ret = EXIT_SUCCESS; FILE*fpaero = fopen(F_AIRPORTS, "r"); if (fpaero != NULL) { int tableau[MAX_AEROPORTS][MAX_AEROPORTS] = { { 0 } }; int c = sauterdeuxlignes(fpaero); int tab[MAX_AEROPORTS]; if (c != EOF) { { int i = 0; char chaine[200]; while (fgets(chaine, sizeof (chaine), fpaero) != NULL && i < MAX_AEROPORTS) { #if 1 printf("%s", chaine); #endif tab[i] = atoi(chaine); i++; } printf ("%d airports loaded\n", i); } { int i; int j; for (i = 0, j = 0;i < MAX_AEROPORTS;i++) { printf("%4d\n", tab[i]); tableau[j][0] = tab[i]; tableau[0][j] = tab[i]; j++; } } } fclose (fpaero), fpaero = NULL; { FILE*fpcorres = fopen(F_CONNEXIONS, "r"); if (fpcorres != NULL) { char chaine[128]; #if 0 afficher_fichier(fpcorres); rewind (fpcorres); #endif { int c = sauterdeuxlignes(fpcorres); while (fgets(chaine, sizeof chaine, fpcorres) != NULL) // c'est par la que ca foire { clean(chaine, fpcorres); { int err = 0; char *ID1 = strtok(chaine, sep); if (ID1 != NULL) { char *ID2 = strtok(NULL, sep); if (ID2 != NULL) { char *dist = strtok(NULL, sep); if (dist != NULL) { int a = atoi(ID1); int b = atoi(ID2); int i = IDtoPO(a, tab, MAX_AEROPORTS); int j = IDtoPO(b, tab, MAX_AEROPORTS); if (i != -1 && j != -1) { #if 1 printf("%6d | %6d | %10s |\n", i , j , dist ); #endif tableau[i][j] = atoi(dist); } else { printf ("'%s' ignored\n", chaine); } } else { err = 3; } } else { err = 2; } } else { err = 1; } if (err) { printf("'%s'", chaine); printf ("format error (%d)\n", err); break; } } } } fclose (fpcorres), fpcorres = NULL; system("pause"); /* print the courses */ { int i; for (i = 0;i < MAX_AEROPORTS;i++) { int j; for (j = 0;j < MAX_AEROPORTS;j++) { printf("\t%d", tableau[i][j]); } } } } else { perror(F_CONNEXIONS); ret = EXIT_FAILURE; } } } else { perror(F_AIRPORTS); ret = EXIT_FAILURE; } return ret; }
euh oui j'veux bien mais j'ai pas le choix lool le fichier est comme ca j'ai pas le droit de le changer...Comme je te l'ai expliqué 3000 fois, les tabiulations, c'est pas une bonne idée.
et pour les noms de fichiers tordus et qui contiennent des fautes c'est pareil j'ai pas le choix ils me sont donnés comme ca et si quand je rend mon projet avec d'autres noms parceque chez moi j'ai changé les noms elle pourra rien ouvrir et je doute qu'elle apprécie le ptit mot lui indiquant de changer tous les noms sur tout le code ... nan ?? lol
ca me fait bien c****, mais bon...
sinon ta fonction sauterdeuxlignes ne saute qu'une ligne c'est normal ?? lol ca me derange pas a partir du moment ou je n'ai qu'a l'appeler deux fois c'était juste pour savoir
Ce n'est pas normal... :Envoyé par BnY
Une ligne à remplacer par :
Code : Sélectionner tout - Visualiser dans une fenêtre à part while (n < 2 && (c = fgetc(flot)) != EOF )
oki merci je me disais aussi que le !='\n' dans le while était bizarre vu qu'on s'en servait dans le if(c=='\n') ...
C'est bien.. Tu commences à avoir les bons reflexes... Et il y avait un deuxième bug assez subtil. Il manquait un caractère dans la ligne suivante, dû à l'ordre des actions dans le while. En effet, il fut arréter de lire quand on a n = 2 (l'évaluation de l'expression de fait de gauche à doite, et s'arrête dès qu'une condition est vraie). Corrigé.Envoyé par BnY
c'est dingue comment tu programmes vite !!!
avec le code que tu proposes plus haut en constante evolution je sais pas si chez toi il te fait pareil, mais apparement il s'arrete en plein milieu de l'affichage: d'apres le debogage il y aurait un probleme sur cette ligne:
enfin bon pour l'affichage autant te dire tout de suite de pas te prendre la tete ( enfin moi je m'en sers juste pour verifier ce que fait mon prog, mais il n'est pas tout le temps utile dans le prog final )
Code : Sélectionner tout - Visualiser dans une fenêtre à part tableau[i][j] = atoi(dist);
je cherche de mon coté mais bon j'ai pas ton experience alors il y a des chances que tu trouves avant moi lol
merci encore infiniment pour ton aide
Je n'ai ce problème...Envoyé par BnY
J'obtiens ceci :
Avec ces deux fichiers :
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 c = 10 11 airports loaded 2 3 5 6 7 8 9 10 11 12 13 c = 10 2 | 3 | 259 | 2 | 5 | 16960 | 2 | 6 | 9092 | 2 | 7 | 5835 | 2 | 8 | 5505 | 2 | 9 | 9203 | 2 | 10 | 1479 | 2 | 11 | 9343 | 2 | 12 | 6278 | 2 | 13 | 5000 | 2 | 14 | 4202 | 2 | 15 | 3330 | 2 | 16 | 1758 | 2 | 17 | 1343 | 2 | 18 | 10734 | 2 | 20 | 18985 | 2 | 21 | 7722 | 2 | 22 | 9169 | 2 | 25 | 9445 | 2 | 31 | 2489 | 2 | 41 | 9716 | 2 | 42 | 8965 | 3 | 5 | 16746 | 3 | 6 | 3288 | 3 | 7 | 5889 | 3 | 8 | 5538 | 3 | 9 | 9255 | 3 | 10 | 1619 | 3 | 11 | 9523 | 3 | 12 | 6385 | 3 | 13 | 5238 | 3 | 14 | 4462 | 3 | 15 | 3293 | 3 | 16 | 1696 | 3 | 17 | 1091 | 3 | 18 | 10559 | 3 | 20 | 18726 | 3 | 21 | 7848 | 3 | 22 | 9426 | 3 | 25 | 9252 | 3 | 31 | 2258 | 3 | 41 | 9456 | 3 | 42 | 8708 | 5 | 6 | 14399 | 5 | 7 | 15994 | 5 | 8 | 16029 | 5 | 9 | 12965 | 5 | 10 | 16485 | 5 | 11 | 11007 | 2 3 5 6 7 8 9 10 11 12 13 3 8 2293232 3998072 18 2292940 130 2293728 2089938456 2089944432 -1 5 4006960 2359296 259 2372520 16960 9092 5835 5505 9203 1479 9343 6278 5000 4202 3330 16746 3288 5889 5538 9255 1619 9523 6385 5238 4462 3293 1696 1091 10559 2009072557 18726 7848 9426 29 2293252 9252 2293400 2009095316 14399 15994 16029 12965 16485 11007 29 1365 2009064740 4005712 2009064790 4005712 2293388 9456 8708 2009072557 10 2009267360 0 59 2293348 2009143487 2293496 2009095316 2008950144 -1 2009072557 11 1 4013112 59 1 2009267360 4215149 2293436 2009149723 2009113902 2009275256 12 2009119121 17 2293512 2009143501 1 2009267360 2009143487 1 592 4215149 13 1 2293468 0 2293728 2293512 4203482 4215149 2293560 4202319 4251692 Press ENTER to continue.
et
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Num Aeroport Nom Aeroport Fuseau horaire Heure ouverture Heure Fermeture ==================================================================================================== 2 Roissy GMT + 0 00:00 23:59 3 Bruxelles GMT + 0 06:00 22:59 5 Sydney GMT + 10 00:00 23:59 6 Le Caire GMT + 2 03:00 22:59 7 New York GMT - 5 00:00 23:59 8 Montreal GMT - 5 01:00 23:59 9 Mexico GMT - 6 03:00 22:30 10 Tunis GMT + 0 05:00 23:00 11 Cape Town GMT + 0 02:00 23:59 12 Kigali GMT + 0 04:00 21:45 13 Abidjan GMT + 0 01:00 23:59
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 ID Depart ID Arrivee Distance ============================================================= 2; 3 ; 259 2; 5 ; 16960 2; 6 ; 9092 2; 7 ; 5835 2; 8 ; 5505 2; 9 ; 9203 2; 10; 1479 2; 11; 9343 2; 12; 6278 2; 13; 5000 2; 14; 4202 2; 15; 3330 2; 16; 1758 2; 17; 1343 2; 18; 10734 2; 20; 18985 2; 21; 7722 2; 22; 9169 2; 25; 9445 2; 31; 2489 2; 41; 9716 2; 42; 8965 3; 5 ; 16746 3; 6 ; 3288 3; 7 ; 5889 3; 8 ; 5538 3; 9 ; 9255 3; 10; 1619 3; 11; 9523 3; 12; 6385 3; 13; 5238 3; 14; 4462 3; 15; 3293 3; 16; 1696 3; 17; 1091 3; 18; 10559 3; 20; 18726 3; 21; 7848 3; 22; 9426 3; 25; 9252 3; 31; 2258 3; 41; 9456 3; 42; 8708 5; 6 ; 14399 5; 7 ; 15994 5; 8 ; 16029 5; 9 ; 12965 5; 10; 16485 5; 11; 11007
avec le fichier total :
L'affichage s'arrete a la ligne 25|31|7063 avec l'erreur: "machin.exe a rencontré un probleme et doit fermer" ...ID Depart ID Arrivee Distance
=============================================================
2 3 259
2 5 16960
2 6 9092
2 7 5835
2 8 5505
2 9 9203
2 10 1479
2 11 9343
2 12 6278
2 13 5000
2 14 4202
2 15 3330
2 16 1758
2 17 1343
2 18 10734
2 20 18985
2 21 7722
2 22 9169
2 25 9445
2 31 2489
2 41 9716
2 42 8965
3 5 16746
3 6 3288
3 7 5889
3 8 5538
3 9 9255
3 10 1619
3 11 9523
3 12 6385
3 13 5238
3 14 4462
3 15 3293
3 16 1696
3 17 1091
3 18 10559
3 20 18726
3 21 7848
3 22 9426
3 25 9252
3 31 2258
3 41 9456
3 42 8708
5 6 14399
5 7 15994
5 8 16029
5 9 12965
5 10 16485
5 11 11007
5 12 12685
5 13 15839
5 14 17604
5 15 14129
5 16 15434
5 17 15948
5 18 6300
5 20 2225
5 21 14957
5 22 13519
5 25 7533
5 31 14492
5 41 7824
5 42 8329
6 7 9040
6 8 8732
6 9 12396
6 10 2103
6 11 7221
6 12 3579
6 13 4681
6 14 5253
6 15 427
6 16 1595
6 17 3681
6 18 8252
6 20 16504
6 21 10659
6 22 9885
6 25 7261
6 31 2923
6 41 9575
6 42 8488
7 8 537
7 9 3367
7 10 7015
7 11 12563
7 12 11343
7 13 8016
7 14 6132
7 15 9166
7 16 7583
7 17 5913
7 18 15342
7 20 14406
7 21 2535
7 22 7752
7 25 13938
7 31 7512
7 41 10853
7 42 11058
8 9 3734
8 10 6757
8 11 12762
8 12 11241
8 13 8089
8 14 6221
8 15 8830
8 16 7234
8 17 5482
8 18 14804
8 20 14641
8 21 3071
8 22 8204
8 25 13401
8 31 7056
8 41 10387
8 42 10552
9 10 10337
9 11 13710
9 12 14174
9 13 10393
9 14 8618
9 15 12533
9 16 10950
9 17 9200
9 18 16606
9 20 11096
9 21 2368
9 22 7685
9 25 15746
9 31 10726
9 41 11298
9 42 12051
10 11 7917
10 12 4807
10 13 3908
10 14 3680
10 15 2356
10 16 1293
10 17 2567
10 18 10242
10 20 18595
10 21 8557
10 22 8687
10 25 9122
10 31 2941
10 41 10415
10 42 9496
11 12 3713
11 13 4855
11 14 6619
11 15 7514
11 16 8535
11 17 10461
11 18 9659
11 20 11306
11 21 11581
11 22 6066
11 25 10138
11 31 10139
11 41 14733
11 42 13708
12 13 3843
12 14 5556
12 15 3830
12 16 5047
12 17 7119
12 18 8223
12 20 14006
12 21 11852
12 22 8183
12 25 7974
12 31 6494
12 41 11939
12 42 10781
13 14 1884
13 15 5108
13 16 5059
13 17 6321
13 18 11975
13 20 15891
13 21 8037
13 22 5214
13 25 11455
13 31 6819
13 41 14192
13 42 13150
14 15 5648
14 16 4974
14 17 5522
14 18 13321
14 20 16836
14 21 6305
14 22 5036
14 25 12494
14 31 6514
14 41 13917
14 42 13114
15 16 1602
15 17 3613
15 18 7920
15 20 16286
15 21 10900
15 22 10312
15 25 6888
15 31 2673
15 41 9152
15 42 8062
16 17 2098
16 18 9134
16 20 17660
16 21 9451
16 22 9972
16 25 7935
16 31 1779
16 41 9178
16 42 8225
17 18 10055
17 20 17669
17 21 8143
17 22 10424
17 25 8676
17 31 1646
17 41 8407
17 42 7715
18 20 8526
18 21 17868
18 22 15721
18 25 1430
18 31 8423
18 41 5323
18 42 4675
20 21 12842
20 22 11873
20 25 9744
20 31 16543
20 41 9272
20 42 10021
21 22 5830
21 25 16473
21 31 9788
21 41 12914
21 42 13356
22 25 16061
22 31 11549
22 41 18566
22 42 18134
25 31 7063
25 41 4610
25 42 3723
31 41 7479
31 42 6601
41 42 1160
tu veux que je te mette des ";" pour que tu essaies ??
Non, c'est bon, j'ai UltraEdit et son mode colonnes...Envoyé par BnY
Probablement un problème de débordement de taille... Il faut vérifier que les indices sont bien < MAX_AEROPORTS (23 chez toi)Envoyé par BnY
Là, je vois un 31, y'a un bug...
Comme quoi, on est jamais assez prudent avec ses entrées... Je pense que c'est un piège fait exprès... (aéroport inconnu...)
Avec la protection, j'obtiens (Rappel, je n'ai que 11 aéroports dans mon fichier) EDIT : j'ai corrigé le code 'message #23)
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277 c = 10 11 airports loaded 2 3 5 6 7 8 9 10 11 12 13 c = 10 2 | 3 | 259 | 2 | 5 | 16960 | 2 | 6 | 9092 | 2 | 7 | 5835 | 2 | 8 | 5505 | 2 | 9 | 9203 | 2 | 10 | 1479 | '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored '2 ' ignored 3 | 5 | 16746 | 3 | 6 | 3288 | 3 | 7 | 5889 | 3 | 8 | 5538 | 3 | 9 | 9255 | 3 | 10 | 1619 | '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored '3 ' ignored 5 | 6 | 14399 | 5 | 7 | 15994 | 5 | 8 | 16029 | 5 | 9 | 12965 | 5 | 10 | 16485 | '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored '5 ' ignored 6 | 7 | 9040 | 6 | 8 | 8732 | 6 | 9 | 12396 | 6 | 10 | 2103 | '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored '6 ' ignored 7 | 8 | 537 | 7 | 9 | 3367 | 7 | 10 | 7015 | '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored '7 ' ignored 8 | 9 | 3734 | 8 | 10 | 6757 | '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored '8 ' ignored 9 | 10 | 10337 | '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '9 ' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '10' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '11' ignored '12' ignored '12' ignored '12' ignored '12' ignored '12' ignored '12' ignored '12' ignored '12' ignored '12' ignored '12' ignored '12' ignored '12' ignored '12' ignored '13' ignored '13' ignored '13' ignored '13' ignored '13' ignored '13' ignored '13' ignored '13' ignored '13' ignored '13' ignored '13' ignored '13' ignored '14' ignored '14' ignored '14' ignored '14' ignored '14' ignored '14' ignored '14' ignored '14' ignored '14' ignored '14' ignored '14' ignored '15' ignored '15' ignored '15' ignored '15' ignored '15' ignored '15' ignored '15' ignored '15' ignored '15' ignored '15' ignored '16' ignored '16' ignored '16' ignored '16' ignored '16' ignored '16' ignored '16' ignored '16' ignored '16' ignored '17' ignored '17' ignored '17' ignored '17' ignored '17' ignored '17' ignored '17' ignored '17' ignored '18' ignored '18' ignored '18' ignored '18' ignored '18' ignored '18' ignored '18' ignored '20' ignored '20' ignored '20' ignored '20' ignored '20' ignored '20' ignored '21' ignored '21' ignored '21' ignored '21' ignored '21' ignored '22' ignored '22' ignored '22' ignored '22' ignored '25' ignored '25' ignored '25' ignored '31' ignored '31' ignored '41' ignored 2 3 5 6 7 8 9 10 11 12 13 3 8 2293232 3998072 18 2292940 130 2293728 2089938456 2089944432 -1 5 4006960 2359296 259 2372520 16960 9092 5835 5505 9203 1479 6 2372520 2293208 2089136298 130 16746 3288 5889 5538 9255 1619 7 2009064740 4005712 2009064790 4005712 2293292 2009072528 1 2009072557 29 2009267360 8 29 2293252 4006960 2293400 2009095316 14399 15994 16029 12965 16485 9 29 1365 20090647 40 4005712 2009064790 4005712 9040 8732 12396 2103 10 2009267360 0 59 2293348 20091434 87 2293496 2009095316 537 3367 7015 11 1 4013112 59 1 2009267360 4215165 2293436 2009149723 3734 6757 12 2009119121 17 2293512 2009143501 1 2009267360 2009143487 1 592 10337 13 1 2293468 0 2293728 2293512 4203514 4215165 2293560 4202351 4251692SYSALLOC min=4294
oki mais pourquoi 26 ?? il y a 23 aeroports ..!
en fait y a des aeroports qui n'existent pas, enfin seuls 23 numeros existent mais ils ne vont pas de 1 a 23 lool .. je sais pas si ca joue ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 for (i = 0, j = 0;i < MAX_AEROPORTS;i++) { tableau[j][0] = tab[i]; tableau[0][j] = tab[i]; j++; }
la dedans j n'est pas balisé mais bon je vois pas pourquoi il depasserait MAX_AERO alors que i ne le dépasse pas et qu'ils s'incrementent ensemble ...
Je fatigue. Erreur de ma part...Envoyé par BnY
euhh quelle protection ?? et juste pour savoir dans les #if : lesquels je peux enlever ( a part ceux du debut pour les #define que j'ai corrigés )
bon j'ai toujours le meme probleme et je pense bien que les indices sont inférieurs a MAX_AEROP, ca pourrait venir d'autre chose ??
comme je t'ai precisé plus haut y a une ligne que le debogage me fleche en jaune qui apparement marche pas, mais en meme temps l'affichage s'arrete avant la fin donc je sais meme plus par ou ca peut venir .. :s
oki lol c'est pas moi qui te ferait la lecon pour la fatigue lol ca m'arrive souvent :p
Le noeud du problème est là. c'est un problème d'analyse.Envoyé par BnY
Au départ, tu établis une liste des aéroports avec des numéros arbitraires. Ces informations sont rangées à des index bien précis du tableau.
Il y a 23 aéroports, donc le tableau fait 23, mais les numéros vont de 1 à ... (> 23).
Or tu as créé le tableau des corespondances en te basant sur le nombre d'aeroports possibles soit 23 x 23.
L'erreur est d'utiliser le numéro d'aeroport lu dans la table de correspondance comme index de ce tableau. En effet, il n'y a pas de relation directe entre le numéro d'aéroport et l'index.
Il faut donc chercher l'index en fonction du numéro d'aéroport. Pour ça, il suffit de trouver l'aéroport dans son tableau. Sa position donne l'index.
Une petite fonction serait la bienvenue...
Il n'y a rien de mystérieux là dedans. Il suffit de prendre 10 minutes pour réflechir, ce que j'ai fait (ok, 2 minutes..)...
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager