0

qsortで多次元配列をソートしようとしていますが、結果はナンセンスです..

私のコード(抜粋):

#include <stdio.h>
#include <stdlib.h>

int srovnejVelikost(const void *p1, const void *p2) {
    const long int (*a)[5] = p1;
    const long int (*b)[5] = p2;
    return ((*a)[0] + (*a)[1] - (*b)[0] - (*b)[1]);
}

long int nadrze[200000][5];

[values added into the array here]

qsort (nadrze, 200000, sizeof(nadrze[0]), srovnejVelikost);

(nadrze[a][0] + nadrze[a][1] - nadrze[b][0] - nadrze[b][1]) の結果に従って nadrze[] をソートする必要があります... すべて 5要素が移動しました

ご協力いただきありがとうございます。それは最も高く評価されています。

4

2 に答える 2