# C program to arrange column elements in ascending order

Here, we are going to learn how to arrange column elements in ascending order in C programming language?
Submitted by Nidhi, on July 14, 2021

Problem Solution:

Given a matrix, we have to arrange column elements in ascending order using C program.

Program:

The source code to arrange column elements in ascending order is given below. The given program is compiled and executed using GCC compile on UBUNTU 18.04 OS successfully.

```// C program to arrange column elements in ascending order

#include <stdio.h>

#define ROW 3
#define COL 3

int main()
{

int Matrix[ROW][COL] = {
{ 9, 8, 7 },
{ 5, 4, 6 },
{ 1, 2, 3 }
};

int i, j, k, temp;

printf("Matrix:\n");
for (i = 0; i < ROW; ++i) {
for (j = 0; j < COL; ++j)
printf(" %d", Matrix[i][j]);
printf("\n");
}

// Arrange columns elements in ascending order
for (j = 0; j < COL; ++j) {
for (i = 0; i < ROW; ++i) {
for (k = i + 1; k < ROW; ++k) {
if (Matrix[i][j] > Matrix[k][j]) {
temp = Matrix[i][j];
Matrix[i][j] = Matrix[k][j];
Matrix[k][j] = temp;
}
}
}
}

printf("Matrix after sorting column elements:\n");
for (i = 0; i < ROW; ++i) {
for (j = 0; j < COL; ++j)
printf(" %d", Matrix[i][j]);
printf("\n");
}

return 0;
}
```

Output:

```Matrix:
9 8 7
5 4 6
1 2 3
Matrix after sorting column elements:
1 2 3
5 4 6
9 8 7
```

Explanation:

Here, we created a 3X3 matrix matrix using the 2D array. Then we sorted the column elements and printed the updated matrix on the console screen.