Hi everyone,

I am writing a function that needs to sort the rows of a 2D matrix in ascending order.

To so, I first wrote the function to treat a 1D array and, by analogy, tried to build one that takes an array of pointers as argument, but I am not sure where I am doing that wrong, since I am not getting the sorted array in return.

I post my code below, I hope someone can help

All the best

cfd

In the following code, *array[] that is passed is a 2D matrix of "lenght" rows and 6 columns:

Code:void sortAscend(float *array[], int length) { int i, j, temp, test; for(i = length - 1; i > 0; i--) { test=0; for(j = 0; j < i; j++) { if(*array[1] > *(array[1]+1)) /* compare neighboring elements */ { temp = *array[1]; /* swap array[j] and array[j+1] */ *array[1] = *(array[1]+1); *(array[1]+1) = temp; test=1; } } /*end for j*/ if(test==0) break; /*will exit if the list is sorted!*/ } /*end for i*/ }