📄 reserve.cpp
字号:
#include<iomanip.h>
#include<iostream.h>
void main()
{
int i,j,b,k,n,s=1;
double d,m,p,a[10][20];
cout<<"请输入你所输的矩阵的阶数:";
cin>>n;
for(i=0;i<n;i++)
for(j=0;j<2*n;j++)
a[i][j]=0.0;
cout<<"请输入矩阵:"<<endl;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
cin>>a[i][j];
for(i=0;i<n;i++)
a[i][n+i]=1.0;
for(i=0;i<n;i++)
{
if(a[i][i]==0)
{
for(k=i+1;k<n;k++)
{
if(a[k][i]!=0.0)
break;
}
if(k==n)
{
cout<<"输入错误,你所输入的方阵无逆!"<<endl;
s=0;
break;
}
else
{
for(j=0;j<2*n;j++)
{
m=a[i][j];
a[i][j]=a[k][j];
a[k][j]=m;
}
}
}
d=a[i][i];
for(j=i;j<2*n;j++)
a[i][j]=a[i][j]/d;
for(k=0;k<i;k++)
{
p=-1.0*a[k][i];
for(b=i;b<2*n;b++)
{
a[k][b]=a[k][b]+p*a[i][b];
}
}
for(k=i+1;k<n;k++)
{
p=-1.0*a[k][i];
for(b=i;b<2*n;b++)
{
a[k][b]=a[k][b]+p*a[i][b];
}
}
}
if(s)
{
cout<<"所求矩阵的逆是:"<<endl;
for(i=0;i<n;i++)
{
for(j=n;j<2*n;j++)
cout<<setw(12)<<a[i][j]<<setw(12);
cout<<endl;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -