salve, ho provato a fare un programma che legge dal un file il numero di elementi in esso contenuti (sono dei numeri) e mi crea una matrice quadrata con tutti zeri che ha tante righe e colonne quanto č il numero degli elementi nel file.
ma non funziona, mi potete dare una mano e aiutare a capire dov'č l'errore??
grazie
#include <stdlib.h>
#include <stdio.h>
int conta_elementi(file) { .
int n, x;
FILE *in; //puntatore all'inizio del file.
if(in = fopen (file, "r")){ // se il file si apre correttamente:
while(!feof(in)) { // fino a che non arrivo alla fine del file.
fscanf (in, "%d", &x); //leggo un numero alla volta nel file.
n = n++;// "n" serve per spostarsi nel file e contemporaneamente conta quanti
//elementi ci sono.
}
fclose(in); // chiudo il file.
} else { // se il file non si apre stampo a video un messaggio di errore.
fprintf (stderr, "errore nella lettura del file \n");
}
return (n); // alla fine mi ritorna n=numero di elementi.
}
int costruisci_matrice (int A[i][j]){//costruiamo una matrice con tutti zeri.
int i=0;
int j=0;
int n;
while(j< n-1){
A[i][j]=0;
j++;
while(i<n-1){
A[i][j]=0;
i++;
}
}
}
int stampa_matrice(int A[i][j]){
int i=0;
int j=0;
while(j<n-1){
printf("%d", A[i][j]);
j++;
}
printf("\n");
while(i<n-1){
printf("%d", A[i][j]);
i++;
}
}
int main (void){
int A[i][j];
int i, j;
n=conta_elementi(file);
costruisci_matrice(A[i][j]);
stampa_mtrice(A[i][j]);
return (1);
}