#include #include int superieur(int i1, int i2) { return (i1 > i2)? 1 : ((i1 == i2)? 0 : -1); } int inferieur(int i1, int i2) { return -superieur(i1, i2); } int pair(int i1, int i2) { if (i1 % 2 == 0 && i2 % 2 == 1) return 1; if (i1 % 2 == 1 && i2 % 2 == 0) return -1; return 0; } void tri(int * t, int n, int compare_int(int i1, int i2)) { for (int i = 0; i < n - 1; i++) { int i_min = i; for (int j = i; j < n; j++) { if (compare_int(t[j],t[i_min]) < 0) { i_min = j; } } int tmp = t[i_min]; t[i_min] = t[i]; t[i] = tmp; } } void afficher_tableau(int * t, int n) { for (int i = 0; i < n; i++) { printf("%d ", t[i]); } printf("\n"); } int main(void) { int t[] = {6, 2, 8, 6, 4, 8, 2, 9, 2, 1}; tri(t, 10, superieur); afficher_tableau(t, 10); tri(t, 10, inferieur); afficher_tableau(t, 10); tri(t, 10, pair); afficher_tableau(t, 10); return EXIT_SUCCESS; }