#include #include #include int main() { int A[3][3];// the matrix that is entered by user int B[3][3];//the taranahade of a matrix A int C[3][3];//the adjunct matrix of transpose of a matrix A not adjunct of A double X[3][3];//the inverse int i,j; float x; int n=0;//n is the determinant of a clrscr(); printf("========== Enter matrix A =============================================\n"); for(i=0;i<3;i++) { printf("\n"); for(j=0;j<3;j++) { printf("A[%d][%d]=",i,j); scanf("%d",&A[i][j]); B[i][j]=0; C[i][j]=0; } } for(i=0,j=0;j<3;j++) { if(j==2) n+=A[i][j]*A[i+1][0]*A[i+2][1]; else if(j==1) n+=A[i][j]*A[i+1][j+1]*A[i+2][0]; else n+=A[i][j]*A[i+1][j+1]*A[i+2][j+2]; } for(i=2,j=0;j<3;j++) { if(j==2) n-=A[i][j]*A[i-1][0]*A[i-2][1]; else if(j==1) n-=A[i][j]*A[i-1][j+1]*A[i-2][0]; else n-=A[i][j]*A[i-1][j+1]*A[i-2][j+2]; } printf("\n========== The matrix A is ==========================================\n"); for(i=0;i<3;i++) { printf("\n"); for(j=0;j<3;j++) { printf(" A[%d][%d]=%d ",i,j,A[i][j]); } } printf("\n\n"); printf("=====================================================================\n\n"); printf("The determinant of matrix A is %d\n\n",n); printf("=====================================================================\n"); if(n!=0) x=1.0/n; else { printf("Division by 0, not good!\n"); printf("=====================================================================\n\n"); getch(); return 0; } printf("\n========== The transpose of a matrix A ==============================\n"); for(i=0;i<3;i++) { printf("\n"); for(j=0;j<3;j++) { B[i][j]=A[j][i]; printf(" B[%d][%d]=%d ",j,i,B[i][j]); } } printf("\n\n"); C[0][0]=B[1][1]*B[2][2]-(B[2][1]*B[1][2]); C[0][1]=(-1)*(B[1][0]*B[2][2]-(B[2][0]*B[1][2])); C[0][2]=B[1][0]*B[2][1]-(B[2][0]*B[1][1]); C[1][0]=(-1)*(B[0][1]*B[2][2]-B[2][1]*B[0][2]); C[1][1]=B[0][0]*B[2][2]-B[2][0]*B[0][2]; C[1][2]=(-1)*(B[0][0]*B[2][1]-B[2][0]*B[0][1]); C[2][0]=B[0][1]*B[1][2]-B[1][1]*B[0][2]; C[2][1]=(-1)*(B[0][0]*B[1][2]-B[1][0]*B[0][2]); C[2][2]=B[0][0]*B[1][1]-B[1][0]*B[0][1]; printf("\n========== The adjunct matrix of transpose of the matrix A ==========\n"); for(i=0;i<3;i++) { printf("\n"); for(j=0;j<3;j++) { printf(" C[%d][%d]=%d ",i,j,C[i][j]); } } printf("\n\n"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { X[i][j]=C[i][j]*x; } } printf("\n========== The inverse matrix of the matrix you entered!!! ==========\n"); for(i=0;i<3;i++) { printf("\n"); for(j=0;j<3;j++) { printf(" X[%d][%d]=%f ",i,j,X[i][j]); } } printf("\n\n"); getch(); return 0; }