Here you will get C and C++ program to find inverse of a matrix.
We can obtain matrix inverse by following method.
- First calculate deteminant of matrix.
- Then calculate adjoint of given matrix. Adjoint can be obtained by taking transpose of cofactor matrix of given square matrix.
- Finally multiply 1/deteminant by adjoint to get inverse.
The formula to find inverse of matrix is given below.

You can watch below video to learn how inverse is calculated.
In below program I have calculated the inverse of 3×3 matrix.
C Program to Find Inverse of a Matrix
#include<stdio.h>
int main(){
int mat[3][3], i, j;
float determinant = 0;
printf("Enter elements of matrix row wise:\n");
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
scanf("%d", &mat[i][j]);
printf("\nGiven matrix is:");
for(i = 0; i < 3; i++){
printf("\n");
for(j = 0; j < 3; j++)
printf("%d\t", mat[i][j]);
}
//finding determinant
for(i = 0; i < 3; i++)
determinant = determinant + (mat[0][i] * (mat[1][(i+1)%3] * mat[2][(i+2)%3] - mat[1][(i+2)%3] * mat[2][(i+1)%3]));
printf("\n\ndeterminant: %f\n", determinant);
printf("\nInverse of matrix is: \n");
for(i = 0; i < 3; i++){
for(j = 0; j < 3; j++)
printf("%.2f\t",((mat[(j+1)%3][(i+1)%3] * mat[(j+2)%3][(i+2)%3]) - (mat[(j+1)%3][(i+2)%3] * mat[(j+2)%3][(i+1)%3]))/ determinant);
printf("\n");
}
return 0;
}
C++ Program to Find Inverse of a Matrix
#include<iostream>
using namespace std;
int main(){
int mat[3][3], i, j;
float determinant = 0;
cout<<"Enter elements of matrix row wise:\n";
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++)
cin>>mat[i][j];
printf("\nGiven matrix is:");
for(i = 0; i < 3; i++){
cout<<"\n";
for(j = 0; j < 3; j++)
cout<<mat[i][j]<<"\t";
}
//finding determinant
for(i = 0; i < 3; i++)
determinant = determinant + (mat[0][i] * (mat[1][(i+1)%3] * mat[2][(i+2)%3] - mat[1][(i+2)%3] * mat[2][(i+1)%3]));
cout<<"\n\ndeterminant: "<<determinant;
cout<<"\n\nInverse of matrix is: \n";
for(i = 0; i < 3; i++){
for(j = 0; j < 3; j++)
cout<<((mat[(j+1)%3][(i+1)%3] * mat[(j+2)%3][(i+2)%3]) - (mat[(j+1)%3][(i+2)%3] * mat[(j+2)%3][(i+1)%3]))/ determinant<<"\t";
cout<<"\n";
}
return 0;
}Output

The post C and C++ Program to Find Inverse of a Matrix appeared first on The Crazy Programmer.