#include <stdio.h>
#include <stdlib.h>
#define ROWS 3
#define COLS 4
void print_arr2d(int arr2d[][COLS]) {
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%3i", arr2d[i][j]);
}
printf("\n");
}
printf("\n");
}
int compare_function(const void *a, const void *b) {
return ( *(int*)a - *(int*)b );
}
int main()
{
int arr2d[ROWS][COLS] = {{5, 8, 1, 3}, {9, 6, 12, 4}, {7, 11, 10, 2}};
print_arr2d(arr2d);
for (int i = 0; i < COLS; i++) {
qsort(arr2d[i], COLS, sizeof(int), compare_function);
}
print_arr2d(arr2d);
return 0;
}
/*
run:
5 8 1 3
9 6 12 4
7 11 10 2
1 3 5 8
4 6 9 12
2 7 10 11
*/