In parole povere vorrei ordinare una matricre n*m. Ho già implementato questa funzione usando l'algoritmo del bubble sort. Ora vorrei tentare a farlo con l'algoritmo del qsort(). Ho scritto questo frammento di codice:
- Codice: Seleziona tutto
void ordina(double **mat, int n, int m){
int i,j;
for(j=0;j<m;j++)
qsort(mat[j],m,sizeof(double),cmp);
for(i=0;i<n;i++){
qsort(mat[i],n,sizeof(double),cmp);
}
return;
}
int cmp(const void *vp, const void *vq){
const double *p=vp;
const double *q=vq;
double diff= *p - *q;
return((diff >= 0.0)?((diff > 0.0)? -1:0): +1);
}
Il problema è che quando stampo la matrice, le righe di essa mi vengono ordinate mentre le colonne no. Perchè accade questo?? cosa sbaglio??
Grazie per eventuali risposte.



