Salve a tutti ragazzi,ho realizzato un programma che mi legge da file 3 numeri: indice riga,indice colonna,e valore dell'elemento e poi me li mette in una matrice e stampo la matrice risultante(prima dei valori nel file leggo due valori che sono le righe e le colonne della matrice)
es di file
3 3 (n righe e n colonne)
0 0 1 (indice riga indice colonna elemento corrispondente)
...
questo è il codice però non capisco perchè nella stampa finale mi ripete l'ultima riga 3 volte dove sbaglio?
#include <stdio.h>
int main(){
int i;
int j;
int indicer;
int indicec;
int elemento;
int DIMR;
int DIMC;
int mat[DIMR][DIMC];
FILE *fp;
fp=fopen("matrice.txt","r");
if(fp==NULL){
printf("errore");
}
//LETTURA NUMERO RIGHE E COLONNE
fscanf(fp,"%d,%d",&DIMR,&DIMC);
printf("%d\n",DIMR);
printf("%d\n",DIMC);
printf("la matrice ha %d righe e %d colonne\n",DIMR,DIMC);
//LETTURA ALTRI ELEMENTI
fscanf(fp,"%d,%d,%d",&indicer,&indicec,&elemento);
printf("%d,%d,%d\n",indicer,indicec,elemento);
mat[indicer][indicec]=elemento;
printf("Primo elemento:%d\n",mat[indicer][indicec]);
fscanf(fp,"%d,%d,%d",&indicer,&indicec,&elemento);
printf("%d,%d,%d\n",indicer,indicec,elemento);
mat[indicer][indicec]=elemento;
printf("Secondo elemento: %d\n",mat[indicer][indicec]);
fscanf(fp,"%d,%d,%d",&indicer,&indicec,&elemento);
printf("%d,%d,%d\n",indicer,indicec,elemento);
mat[indicer][indicec]=elemento;
printf("Terzo elemento: %d\n",mat[indicer][indicec]);
fscanf(fp,"%d,%d,%d",&indicer,&indicec,&elemento);
printf("%d,%d,%d\n",indicer,indicec,elemento);
mat[indicer][indicec]=elemento;
printf("Quarto elemento :%d\n",mat[indicer][indicec]);
fscanf(fp,"%d,%d,%d",&indicer,&indicec,&elemento);
printf("%d,%d,%d\n",indicer,indicec,elemento);
mat[indicer][indicec]=elemento;
printf("Quinto elemento: %d\n",mat[indicer][indicec]);
fscanf(fp,"%d,%d,%d",&indicer,&indicec,&elemento);
printf("%d,%d,%d\n",indicer,indicec,elemento);
mat[indicer][indicec]=elemento;
printf("Sesto elemento %d\n",mat[indicer][indicec]);
fscanf(fp,"%d,%d,%d",&indicer,&indicec,&elemento);
printf("%d,%d,%d\n",indicer,indicec,elemento);
mat[indicer][indicec]=elemento;
printf("Settimo elemento: %d\n",mat[indicer][indicec]);
fscanf(fp,"%d,%d,%d",&indicer,&indicec,&elemento);
printf("%d,%d,%d\n",indicer,indicec,elemento);
mat[indicer][indicec]=elemento;
printf("Ottavo elemento :%d\n",mat[indicer][indicec]);
fscanf(fp,"%d,%d,%d",&indicer,&indicec,&elemento);
printf("%d,%d,%d\n",indicer,indicec,elemento);
mat[indicer][indicec]=elemento;
printf("Nono elemento : %d\n",mat[indicer][indicec]);
for(i=0;i<DIMR;i++){
for(j=0;j<DIMC;j++)
printf("%d",mat[i][j]);
printf("\n");
}
}