# 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 statement

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

## Arranging column elements in ascending order

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

```// 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.