*shrug*
Code:
#include <stdio.h>
#include <stdlib.h>
void print ( int a[][2], int n ) {
int i;
for ( i = 0 ; i < n ; i++ ) {
printf( "%d %d\n", a[i][0], a[i][1] );
}
printf("--\n");
}
int compare ( const void *pa, const void *pb ) {
int (*a)[2] = pa;
int (*b)[2] = pb;
if ( a[0][1] < b[0][1] ) return -1;
if ( a[0][1] > b[0][1] ) return +1;
return 0;
}
int main() {
int data[][2] = {
{1, 2},
{1, 3},
{1, 6},
{2, 4},
{2, 5},
{2, 7},
};
print( data, 6 );
qsort( data, 6, sizeof data[0], compare );
print( data, 6 );
return 0;
}
$ ./a.exe
1 2
1 3
1 6
2 4
2 5
2 7
--
1 2
1 3
2 4
2 5
1 6
2 7
--