Salve a tutti, devo realizzare un programma che legga da file una matrice, e restituisca data una colonna l'indice di riga col numero pi� alto.
Il mio prof valuta molto bene l'uso di una matrice dinamica, per cui mi stavo esercitando nell'usarle.
detto questo il mio codice � formato da tre funzioni.
Il main
la funzione leggi(che legge la matrice da file)
e la funzione mat_dim(che crea una matrice dinamica una volta lette numero di colonne e righe)
[code]
codice:void mat_dim(int **mat, int *r, int *c) { printf("%d %d", *r, *c); int i=0; //int j; mat=malloc(*r*sizeof(int*)); while(i<*r){ mat[i]=malloc(*c*sizeof(int)); i++; } } void leggi(int **mat, int *r, int *c){ int i; int j; FILE *read; if ((read=fopen("campionato.txt", "r"))==NULL){ printf("Impossibile aprire file 'Campionato.txt'\n"); } else{ fscanf(read, "%d", &r); fscanf(read, "%d", &c); } mat_dim(&r,&c); //prova inserimento dati e stampa matrice //lettura matrice da file /*i=0; j=0; while(i<*r){ while(j<*c){ fscanf(read, "%d", &mat[i][j]); j++; }i++; }*/ fclose(read); }
Il codice e' sprovvisto di lettura di dati da file perche' appena termina la chiamata di funzione mat_dim, il programma crasha e non capisco il motivo, anche il semplice inserimento di dati all'interno della matrice causa un crash, ma questo non succede se l'inserimento dei dati e la stampa viene fatto all'interno della funzione mat_dim

Rispondi quotando