Negative_creep
02-02-2011, 17:30
Ciao a tutti, ho questa struttura dati:
struct a{
int x;
int y;
float z;
}*vett;
vett=calloc(100,sizeof(struct a));
Quindi avrò vett[0].z = 55.5
vett[1].z = 43.5
vett[2].z = 62.4
ecc..
Ho bisogno di ordinare vett in base al valore di z (che è un float) usando il mergesort ma non riesco a passare l'indirizzo di vett
alla funzione.
mergesort((*vett).z,0,n-1); /* Dove n è in numero degli elementi */
Sono sicuro che (*vett).z non va bene (infatti il compilatore mi segnala "Incompatible type for argument 1 of mergesort) ma non so come passare quell'indirizzo alla funzione che si aspetta un vettore di float.
struct a{
int x;
int y;
float z;
}*vett;
vett=calloc(100,sizeof(struct a));
Quindi avrò vett[0].z = 55.5
vett[1].z = 43.5
vett[2].z = 62.4
ecc..
Ho bisogno di ordinare vett in base al valore di z (che è un float) usando il mergesort ma non riesco a passare l'indirizzo di vett
alla funzione.
mergesort((*vett).z,0,n-1); /* Dove n è in numero degli elementi */
Sono sicuro che (*vett).z non va bene (infatti il compilatore mi segnala "Incompatible type for argument 1 of mergesort) ma non so come passare quell'indirizzo alla funzione che si aspetta un vettore di float.