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;
}
}
}