Witam,
Mam tablicę 2-wymiarową, którą chcę posortować według pierwszej kolumny. Postanowiłem użyć funkcji quick sort. Nie mogę sobie jednak poradzić z funkcją sortującą
//alokacja tablicy
int (*polaczenia)[3] = new int[wielkosc][3];
//sortowanie tablicy
qsort(polaczenia, wielkosc, 3*sizeof(int), porownaj);
//funkcja sortujaca
int porownaj(const void * w1, const void * w2){
const int (*a1)[3] = (int*)w1;
const int (*a2)[3] = (int*)w2;
if(*a1 > *a2)
return 1;
else if(*a1 == *a2)
return 0;
else
return -1;
}
Dostaję taki błąd:
graf3.cpp:117:29: error: cannot convert ‘int*’ to ‘const int ()[3]’ in initialization
graf3.cpp:118:29: error: cannot convert ‘int’ to ‘const int (*)[3]’ in initialization
Chodzi dokładnie o 2 pierwsze wiersze funkcji porównaj. W związku z tym, że nie czuję się jeszcze dobrze we wskaźnikach będę wdzięczny za pomoc. Tablica ma być posortowana według pierwszej kolumny.