Allora no, la compare la devi implementare in maniera diversa, non è come quella che chiede qsort di stdlib.h;
L' istruzione:
Dice che se la compare ritorna un valore non-zero, gli elementi vengono scambiati.codice:/* if adjacent elements are out of order, swap them */ if ( (*compare)( work[ count ], work[ count + 1 ] ) ) { swap( &work[ count ], &work[ count + 1 ] );
Per cui la compare deve ritornare un booleano, se vuoi ordinare gli elementi in ordine crescente deve essere:
Così se work[count] è maggiore di work[count+1] la compare ritorna 1 e gli elementi vengono scambiati.codice:int ascending(int a,int b) { return (a>b); }
PS: Ma che corso stai frequentando?

Rispondi quotando