Sorting 2D arrays

Hello everyone,

I just came across some problem here, I had to create some 2D array to help holding values for some other array (1D), so they have both the same number of lines.

Problem is, as values in the first array get sorted, all lines from the new one should follow accordingly but I don't know how to do this with my current sorting function. The code looks a bit like this:

void swap (double arr1[], double arr2[], double arr3[], int arr4[], double arr5[], double arr6[], double arr7[], double arr8[], int arr9[][], int arr10[][], int arr11[][], int n) {
bool swapped = true;
int j = 0;
double atemp, btemp, ctemp, etemp, ftemp, gtemp, htemp; int dtemp, itemp, jtemp, ktemp;
while (swapped) {
swapped = false;
j++;
for (int i = 0; i < n - j; i++) {
if (arr1[i] > arr1[i + 1]) {
atemp = arr1[i];
btemp = arr2[i];
ctemp = arr3[i];
dtemp = arr4[i];
etemp = arr5[i];
ftemp = arr6[i];
gtemp = arr7[i];
htemp = arr8[i];
itemp = arr9[i];
jtemp = arr10[i];
ktemp = arr11[i];
arr1[i] = arr1[i + 1];
arr2[i] = arr2[i + 1];
arr3[i] = arr3[i + 1];
arr4[i] = arr4[i + 1];
arr5[i] = arr5[i + 1];
arr6[i] = arr6[i + 1];
arr7[i] = arr7[i + 1];
arr8[i] = arr8[i + 1];
arr9[i] = arr9[i + 1];
arr10[i] = arr10[i + 1];
arr11[i] = arr11[i + 1];
arr1[i + 1] = atemp;
arr2[i + 1] = btemp;
arr3[i + 1] = ctemp;
arr4[i + 1] = dtemp;
arr5[i + 1] = etemp;
arr6[i + 1] = ftemp;
arr7[i + 1] = gtemp;
arr8[i + 1] = htemp;
arr9[i + 1] = itemp;
arr10[i + 1] = jtemp;
arr11[i + 1] = ktemp;
swapped = true;
}
}
}
}

Any help would be much appreciated.

Edit: Just to precise something, arr1 is the array that sorts all others and arr9 to 11 are supposed to be the lines from the 2D array, somehow, but I don't know how to put that.
Last edited on
Topic archived. No new replies allowed.