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
|
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int **element;
int nb_lignes;
int nb_colonnes;
} matrix;
void write_matrix(FILE *p,matrix *m) {
int i;
int j;
if (p==NULL) return; //ouverture du fichier matrice.txt impossible
fprintf(p,"%i%s%i\n",m->nb_lignes," ",m->nb_colonnes);
for (i=0; i<m->nb_lignes; i++) {
for (j=0; j<m->nb_colonnes; j++) {
fprintf(p,"%i%s",m->element[i][j]," ");
}
fprintf(p,"\n");
}
}
matrix * read_matrix(FILE *p) {
int i,j;
matrix *m;
m=(matrix *)malloc(sizeof(matrix));
printf("haha\n");
if (p==NULL) return; //ouverture en lecture impossible
fscanf(p,"%i%i",&m->nb_lignes,&m->nb_colonnes);
printf("%i\n",m->nb_lignes);
printf("%i\n",m->nb_colonnes);
m=allouer_matrice(m->nb_lignes,m->nb_colonnes);
printf("hehe\n");
for (i=0; i<m->nb_lignes; i++) {
for (j=0; j<m->nb_colonnes; j++) {
fscanf(p,"%i",m->element[i][j]);
}
}
printf("%i %i %i\n", m->nb_lignes, m->nb_colonnes, m->element[1][1]);
return m;
}
void affic_matrix(matrix *m) {
int i,j;
printf("Matrice de taille : %i * %i\n",m->nb_lignes,m->nb_colonnes);
for (i=0; i<m->nb_lignes; i++) {
for (j=0; i<m->nb_colonnes; j++){
printf("%i%s",m->element[i][j]," ");
}
printf("\n");
}
}
matrix * allouer_matrice(int nbli, int nbcol) {
matrix *m;
int i;
m=(matrix *)malloc(sizeof(matrix));
m->element=(int**)calloc(nbli,sizeof(int**));
for (i=0; i<nbcol; i++) {
m->element[i]=(int*)calloc(nbcol,sizeof(int*));
}
return m;
}
void remplir_matrice(matrix *m){
int i,j;
printf("Remplissage de matrice %dx%d\n",m->nb_lignes,m->nb_colonnes);
for(i=0;i<m->nb_lignes;i++){
for(j=0;j<m->nb_colonnes;j++){
printf("element (%d,%d)?",i,j);
scanf("%i",&(m->element[i][j]));
}
}
}
int main() {
matrix * m1;
FILE *fic;
m1=(matrix *)malloc(sizeof(matrix));
fic=fopen("matrix.txt","r");
if (fic!=NULL){
//printf("Nombre de lignes : ");
//scanf("%i",&m1->nb_lignes);
//printf("%i\n",m1->nb_lignes);
//printf("Nombre de colonnes : ");
//scanf("%i",&m1->nb_colonnes);
//printf("%i\n",m1->nb_colonnes);
//m1=allouer_matrice(m1->nb_lignes, m1->nb_colonnes);
//printf("%i\n",m1->nb_lignes);
//remplir_matrice(m1);
printf("huhu\n");
m1=read_matrix(fic);
printf("hoho\n");
printf("%i %i %i\n",m1->nb_lignes, m1->nb_colonnes, m1->element[1][1]);
//write_matrix(fic,m1);
//m=read_matrix(fic);
//affic_matrix(m);
return 0;
}
} |
Partager