Bonjour a tous, voici mon probleme avec le Qsort.
Je dois trier mon tableau 2d seulement sur la deuxieme colonnes, de plus mon tableau est un tableau dynamique.
le probleme c'est que le resusltat n'est pas du tout ca :s donc je suis un peu bloqué car je vois pas mon problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 int** indice3 = tableau(tablelg,2); // Fonction qui crée dynamiquement un tableau de "tablelg"ligne et de 2 colonnes. /* Méthode de comparaison, indispensable pour le qsort */ static int compare (void const *a, void const *b) { int const *a1 =(int *) a; int const *b1 =(int *) b; if (a1[1] == b1[1]) { return 0;} else if (a1[1]> b1[1]) { return 1; } else { return -1; } } // Appelle de la fonction de trie qsort(*indice3,2*tablelg,2,compare);
Pour illustrer mon probleme voici ce que je voudrais
10 15
2 6
9 18
5 5
Je voudrais que ca fasse
5 5
2 6
10 15
9 18
Donc voila, qqn pourrait m'aider svp??
Partager