#include #include double x[100][100]; void main() { int i,j,k; void inverse(int k); k=2; x[1][1]=1.; x[1][2]=1.; x[2][1]=x[1][2]; x[2][2]=5.; printf("Input:\n"); for(i=1;i<=k;++i){ for(j=1;j<=k;++j){ printf("%15.7lf",x[i][j]); } printf("\n"); } inverse(k); printf("Output:\n"); for(i=1;i<=k;++i){ for(j=1;j<=k;++j){ printf("%15.7lf",x[i][j]); } printf("\n"); } } /* ---------------------------------------------------------- */ void inverse(int k) { double a1,a2; int i,j,m; for(i=1;i<=k;i++){ a1=x[i][i]; x[i][i]=1.0; for(j=1;j<=k;j++) x[i][j]=x[i][j]/a1; for(m=1;m<=k;m++){ if(m != i){ a2=x[m][i]; x[m][i]=0.0; for(j=1;j<=k;j++) x[m][j]-=a2*x[i][j]; } } } }