Come hai usato qsort? Comunque questo l'ho appena scritto e testato, ordina correttamente l'array. Vedi se può esserti utile.
codice:
#include <stdio.h>
#include <stdlib.h>
int comparator(const void *a, const void *b) {
return *(int*)a - *(int*)b;
}
int main(int argc, char **argv) {
const int SIZE = 10;
int array_dieci[SIZE] = {1, 3, 7, 2, 3, 4, 5, 6, 1, 7};
printf("PRIMA: ");
for (int i = 0; i < SIZE; i++) {
printf("%d ", array_dieci[i]);
}
qsort(array_dieci, SIZE, sizeof (int), comparator);
printf("\nDOPO.: ");
for (int i = 0; i < SIZE; i++) {
printf("%d ", array_dieci[i]);
}
printf("\n");
return 0;
}