# C program to interchange the columns in the matrix

Here, we are going to learn how to interchange the columns in the matrix in C programming language?
Submitted by Nidhi, on July 13, 2021

## Problem statement

Given a matrix, and we have to interchange the specified columns using C program.

## Interchanging the columns in the matrix

The source code to interchange the columns in the matrix is given below. The given program is compiled and executed using GCC compile on UBUNTU 18.04 OS successfully.

## C program to interchange the columns in the matrix

```// C program to interchange the columns in matrix

#include <stdio.h>

int main()
{
int Matrix[3][3] = {
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
};

int i, j, n1, n2, temp;

printf("Matrix before column exchange:\n");
for (i = 0; i < 3; ++i) {
for (j = 0; j < 3; ++j)
printf(" %d", Matrix[i][j]);
printf("\n");
}

printf("Enter two column numbers to be exchanged:");
scanf("%d %d", &n1, &n2);

//Exchange columns
for (i = 0; i < 3; ++i) {
temp = Matrix[i][n1 - 1];
Matrix[i][n1 - 1] = Matrix[i][n2 - 1];
Matrix[i][n2 - 1] = temp;
}

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

return 0;
}
```

### Output

```RUN 1:
Matrix before column exchange:
1 2 3
4 5 6
7 8 9
Enter two column numbers to be exchanged:1 3
Matrix after column exchange:
3 2 1
6 5 4
9 8 7

RUN 2:
Matrix before column exchange:
1 2 3
4 5 6
7 8 9
Enter two column numbers to be exchanged:1 2
Matrix after column exchange:
2 1 3
5 4 6
8 7 9

RUN 3:
Matrix before column exchange:
1 2 3
4 5 6
7 8 9
Enter two column numbers to be exchanged:2 3
Matrix after column exchange:
1 3 2
4 6 5
7 9 8
```

### Explanation

In the main() function, we created a 3X3 matrix matrix using the 2D array. Then we read column numbers to be exchanged. After that, we interchanged the columns and printed the updated matrix on the console screen.