Qsort()

di il
1 risposte

Qsort()

Ragazzi ciao a tutti avevo bisogno di un aiuto con la seguente implementazione.
Voglio ordinare una matrice con la qsort(). Quando eseguo il programma mi vengono ordinate le righe ma non le colonne perchè??? cosa sbaglio????
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);
}

                            

1 Risposte

  • Re: Qsort()

    E' normale, dato che la qsort() agisce su 'array' e non matrici. In più ti dico che una riga viene 'riordinata' per ben 'n' volte, ovvero nel ciclo più interno. una domanda, in che modo vorresti venisse ordinata una matrice? valori crescenti dall'alto in basso, da sinistra a destra?
Devi accedere o registrarti per scrivere nel forum
1 risposte