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
|
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
void CompatageLC(char *NomFich, int Comptage[])
{
FILE *FichLec;
/* NbL nombre de lignes */
int NbL,NbLFich=0;
/* NbC nombre de colonnes */
int NbC,NbCFich=0;
char saisie;
FichLec = fopen(NomFich,"r");
if (FichLec != NULL){
while ((saisie = getc(FichLec)) != EOF){
if (saisie == '\n'){
++NbLFich;
}
if (saisie ==' ' && NbLFich==0){
++NbCFich;
}
}
fclose(FichLec);
Comptage[0]=NbLFich;
Comptage[1]=NbCFich;
}
return;
}
struct Dimensions {
char *Fichier; /* fichier des données */
int ligne; /* nombre de lignes */
int colonne; /* nombre de colonnes */
};
struct Dimensions Data;
/* stockage des données */
double Affectation(char *FichALire, int ligne, int colonne)
{
FILE *FichResultat;
int i;
int j;
double** X = (double**) malloc(colonne * sizeof(double*));
FichResultat = fopen(FichALire, "r");
if(FichResultat !=NULL){
for (i=0; i<ligne; i++)
X[i] = (double*) malloc(ligne * sizeof(double));
for (i=0; i<ligne; i++){
for (j=0; j<colonne; j++){
fscanf(FichResultat, "%lf ", &X[i][j]);
} }
}
fclose(FichResultat);
return 0;
}
int main(int argc, char *argv[])
{
int LC[2];
CompatageLC(argv[1],LC);
printf ("Nombre de lignes %d et Nombre de colonnes %d\n", LC[0], LC[1]);
/* partie pour la structure */
Data.Fichier = argv[1];
Data.ligne = LC[0];
Data.colonne = LC[1];
printf ("Nombre de lignes %d \n", Data.ligne);
printf ("Nombre de colonnes %d \n", Data.colonne);
double Table[Data.ligne][Data.colonne]=Affectation(argv[1],Data.ligne,Data.colonne); // est-ce bien comme ça ???
int i;
int j;
for (i=0; i<Data.ligne; i++){
for (j=0; j<Data.colonne; j++){
printf("Table[%d , %d]= %lf \n", i+1,j+1, Table[i][j]);} }
return 0;
} |
Partager