Buongiorno,
Dovrei leggere una matrice da file di cui ho le dimensioni massime ma non le dimensioni effettive , ovvero so che la matrice possa essere al massimo NxM ma in realtà potrebbe essere più piccola .
Non voglio utilizzare malloc (anche se penso che qui non sia strettamente necessario;
Ho provato a risolvere il problema utilizzando la funzione isalpha() della lib. ctype.
Riuscendo soltanto a trovare le dimensioni della colonna ma non quella delle righe , di seguito allego il codice , razie in anticipo
codice:#include <stdio.h> #include <stdlib.h> #include <ctype.h> #define R_MAX 25 #define C_MAX 25 int main(int argc,char**argv) { char matrice[R_MAX][C_MAX]; int i,r,q,col; char c='a',v='e'; FILE *fp; if(argc!=2) { fprintf(stderr,"Errore sintassi\n"); return 1; } if ((fp=fopen(argv[1],"r"))==NULL) { fprintf(stderr,"errore apertura file\n"); return(1); } for(i=0;i<R_MAX;i++) { for(q=0;q<C_MAX;q++) { c=getc(fp); if(!(isalpha(c))&&c=='\n') { col=q; q=C_MAX; } matrice[i][q]=c; } } }

Rispondi quotando