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.
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);
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.

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??