Lire une matrice à partir d'un fichier texte
Da illest
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
ibtissamguissou Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
ibtissamguissou Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrais lire une matrice se trouvant dans un fichier texte et stocker les valeurs dans un tableau à deux dimensions
voici le fichier
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
#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
je voudrais lire une matrice se trouvant dans un fichier texte et stocker les valeurs dans un tableau à deux dimensions
voici le fichier
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
#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
A voir également:
- Lire une matrice à partir d'un fichier texte
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Lire un fichier epub - Guide
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
2 réponses
Essai avec cette fonction:
d'ou c=5 et l=83
et pour l'affichage:
void RempliMatriceReelle(int c,int l,double **A,FILE *pf) { int i,j; for(i=1;i<=l;i++) { for(j=1;j<=c;j++) { fscanf(pf,"%lf",(A[i]+j)); } } }
d'ou c=5 et l=83
et pour l'affichage:
void AffichMatriceReelle(int l,int c,double **A) { int i,j; for(i=1;i<=l;i++) { for(j=1;j<=c;j++) { printf("%14.0f",(A[i][j])); printf(" "); } printf("\n"); } }
ibtissamguissou
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
et si les valeurs sont séparées par une virgule?