Bonjour,


je voudrais lire une matrice se trouvant dans un fichier texte et stocker les valeurs dans un tableau à deux dimensions

voici le fichier

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
45 319 16.875 -100.375 0
46 319 17.250 -100.375 615
47 319 17.625 -100.375 1758
48 319 18.000 -100.375 1180
49 319 18.375 -100.375 835
50 319 18.750 -100.375 1018
51 319 19.125 -100.375 1420
52 319 19.500 -100.375 2494
53 319 19.875 -100.375 2347
54 319 20.250 -100.375 2310
55 319 20.625 -100.375 2146
56 319 21.000 -100.375 2120
45 320 16.875 -100.000 255
46 320 17.250 -100.000 834
47 320 17.625 -100.000 1757
48 320 18.000 -100.000 1048
49 320 18.375 -100.000 1182
50 320 18.750 -100.000 1571
51 320 19.125 -100.000 2315
52 320 19.500 -100.000 2495
53 320 19.875 -100.000 2520
54 320 20.250 -100.000 2401
55 320 20.625 -100.000 2020
56 320 21.000 -100.000 2193
45 321 16.875 -99.625 271
46 321 17.250 -99.625 1009
47 321 17.625 -99.625 1143
48 321 18.000 -99.625 1063
49 321 18.375 -99.625 1763
50 321 18.750 -99.625 2006
51 321 19.125 -99.625 2888
52 321 19.500 -99.625 2681
53 321 19.875 -99.625 2620
54 321 20.250 -99.625 2599
55 321 20.625 -99.625 2376
56 321 21.000 -99.625 1410
45 322 16.875 -99.250 347
46 322 17.250 -99.250 1126
47 322 17.625 -99.250 1365
48 322 18.000 -99.250 1085
49 322 18.375 -99.250 1104
50 322 18.750 -99.250 1637
51 322 19.125 -99.250 2976
52 322 19.500 -99.250 2473
53 322 19.875 -99.250 2438
54 322 20.250 -99.250 2213
55 322 20.625 -99.250 2213
56 322 21.000 -99.250 1816
45 323 16.875 -98.875 616
46 323 17.250 -98.875 1343
47 323 17.625 -98.875 1660
48 323 18.000 -98.875 1266
49 323 18.375 -98.875 1161
50 323 18.750 -98.875 1582
51 323 19.125 -98.875 2482
52 323 19.500 -98.875 2583
53 323 19.875 -98.875 2438
54 323 20.250 -98.875 2079
55 323 20.625 -98.875 1818
56 323 21.000 -98.875 1244
45 324 16.875 -98.500 555
46 324 17.250 -98.500 1885
47 324 17.625 -98.500 1780
48 324 18.000 -98.500 1364
49 324 18.375 -98.500 1259
50 324 18.750 -98.500 1629
51 324 19.125 -98.500 2420
52 324 19.500 -98.500 2714
53 324 19.875 -98.500 2633
54 324 20.250 -98.500 2198
55 324 20.625 -98.500 1589
56 324 21.000 -98.500 985
45 325 16.875 -98.125 1326
46 325 17.250 -98.125 1975
47 325 17.625 -98.125 1708
48 325 18.000 -98.125 1531
49 325 18.375 -98.125 1459
50 325 18.750 -98.125 1762
51 325 19.125 -98.125 2139
52 325 19.500 -98.125 2642
53 325 19.875 -98.125 2471
54 325 20.250 -98.125 1623
55 325 20.625 -98.125 549
56 325 21.000 -98.125 236

ça fait 84 lignes et 5 colonnes

voici mon code en C pour effectuer cette opération

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
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
 
float output[83][4];
FILE *ReadInput;
int x,y ;
 
int main (void)
 
{
 
 
ReadInput = fopen ("point-narr-H-narr_84pts.txt", "r" ) ;
 
if(ReadInput == NULL)
{
printf("Le fichier n'existe pas");
}
 
else
{
 
for (y=0;y<=83;y++)
{
for (x=0;x<=4;x++)
{
fscanf(ReadInput,"%f ",&output[x][y]);
}
}
 
printf("%f",output[5][0]);
 
fclose (ReadInput) ;
}
 
 
return 1 ;
 
}
le problème c'est que ça marche pour quelques éléments de la matrice et ça marche pas pour d'autres éléments ( il me donne une fausse valeur )
je ne sais pas pourquoi ça marche pas , alors est que kk41 peut le ressayer sur son ordi et me trouver la faute...
merci