Interchange any two columns in a matrix
C program to interchange any two columns in a matrix.
Program
#include<stdio.h>
#include<conio.h>
#define MAX 10
void read_matrix(int mat[MAX][MAX], int row, int col)
{
int i, j;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("Element [%d][%d]\t:",i,j);
scanf("%d",&mat[i][j]);
}
}
}
void print_matrix(int mat[MAX][MAX], int row, int col)
{
int i, j;
for(i=0;i<row;i++)
{
for(j=0;j<col;j++)
{
printf("%d\t",mat[i][j]);
}
printf("\n");
}
}
void interchange_col(int mat[MAX][MAX], int row, int col, int col1, int col2)
{
int i, j, temp;
for(i=0;i<row;i++)
{
temp = mat[i][col1];
mat[i][col1] = mat[i][col2];
mat[i][col2] = temp;
}
}
void main()
{
int mat[MAX][MAX];
int row, col, col1, col2;
printf("Enter the number of rows\t:");
scanf("%d",&row);
printf("Enter the number of columns\t:");
scanf("%d",&col);
printf("Enter the elements of the matrix\n");
read_matrix(mat, row, col);
printf("Enter the indexes of the columns to be interchanged (0 to %d)\t:",col-1);
scanf("%d%d",&col1, &col2);
printf("\nMatrix entered is\n");
print_matrix(mat, row, col);
interchange_col(mat, row, col, col1, col2);
printf("\nMatrix after interchanging of columns\n");
print_matrix(mat, row, col);
getch();
}
Output
Enter the number of rows :3
Enter the number of columns :4
Enter the elements of the matrix
Element [0][0] :1
Element [0][1] :2
Element [0][2] :3
Element [0][3] :4
Element [1][0] :5
Element [1][1] :6
Element [1][2] :7
Element [1][3] :8
Element [2][0] :9
Element [2][1] :10
Element [2][2] :11
Element [2][3] :12
Enter the indexes of the columns to be interchanged (0 to 3) :1
3
Matrix entered is
1 2 3 4
5 6 7 8
9 10 11 12
Matrix after interchanging of columns
1 4 3 2
5 8 7 6
9 12 11 10