📄 gauss.cpp
字号:
#include<iostream.h>
#include<math.h>
int main()
{
float a[10][10],b[10],d=0,t=0,sum=0;
int k=1,l=0,i=0,j=0,m,n;
cout<<"请输入方程组组数:"<<endl;
cin>>n;
cout<<"请输入方程组未知数:"<<endl;
cin>>m;
cout<<"请输入方程组各项系数:"<<endl;
for(int ii=1;ii<=n;ii++)
{
cout<<"请输入第 "<<ii<<" 组数据"<<endl;
for(int jj=1;jj<=m;jj++)
cin>>a[ii][jj];
cin>>b[ii];
}
//*****选主元素*****
while(k<=n)
{
d=a[k][k];
l=k;
for(i=k+1;i<=n;i++)
{
if(fabs(a[i][k])>fabs(d))
{
d=a[i][k];
l=i;
}
}
if(l!=k)
{
for(j=k;j<=n;j++)
{
t=a[l][j];a[l][j]=a[k][j];a[k][j]=t;
}
t=b[k];b[k]=b[l];b[l]=t;
}
//*****消元*****
for(j=k+1;j<=n;j++)
{
a[k][j]=a[k][j]/a[k][k];
}
b[k]=b[k]/a[k][k];
for(i=k+1;i<=n;i++)
{
for(j=k+1;j<=n;j++)
{
a[i][j]=a[i][j]-a[i][k]*a[k][j];
}
j=1;
b[i]=b[i]-a[i][k]*b[k];
}
k++;
}
//*****回代*****
for(i=n-1;i>=1;i--)
{
sum=0;
for(j=i+1;j<=n;j++)
{
sum=sum+a[i][j]*b[j];
}
b[i]=b[i]-sum;
}
//*****结果******
cout<<endl<<"最后结果:"<<endl;
for(int loop=1;loop<=n;loop++)
{
cout<<"x"<<loop<<"="<<b[loop]<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -