Originariamente inviato da clynamen
codice:
p = (int*)calloc(k,sizeof(int));
Stai allocando un array di int di dimensione k. k, dal momento che non e` inizializzato, ha un valore casuale...
codice:
p[k++]=mat[i][j];
Anche qui k non ha un valore definito.
codice:
int conta(unsigned int **mat,int nrighe, int ncolonne){
La funzione dovrebbe ritornare un int*, non un int.
così andrebbe bene?:
codice:
int conta(unsigned int **mat,int nrighe, int ncolonne){
int i,j,k=0,*p;
p = (int*)calloc(k,sizeof(int));
for (i=0; i<nrighe; i++) {
for (j=0; j<ncolonne; j++) {
if (mat[i][j] % 5 == 0)
p[k++]=mat[i][j];
}
return p;
}
}
ho inizializzato k a 0
perchè dovrebbe restituire un int* ?