📄 列主元素gauss消元法.cpp
字号:
#include <iostream.h>
#include <math.h>
int main()
{
double a[3][3]={{0.5,1.1,3.1},{5,0.96,6.5},{2,4.5,0.36}};
double b[3]={6,0.96,0.02};
double m[3];
double x[3];
double max=0.0;
int line;
double temp;
//进行消元
for(int k=0;k<2;k++)
{
//选行号
for(int i=k;i<3;i++)
if(fabs(a[i][k]>max))
{
max=fabs(a[i][k]);
line=i;
}
//进行交换
for(int j=k;j<3;j++)
{
temp=a[line][j];
a[line][j]=a[k][j];
a[k][j]=temp;
}
//进行具体的消元
for(i=k+1;i<3;i++)
{
m[i]=a[i][k]/a[k][k];
for(int j=k+1;j<3;j++)
a[i][j]=a[i][j]-m[i]*a[k][j];
b[i]=b[i]-m[i]*b[k];
}
}
//输出数组a
for(int i=0;i<3;i++)
{
for(int j=0;j<3;j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
//回代过程
x[2]=b[2]/a[2][2];
for(k=1;k>=0;k--)
{
for(int j=k+1;j<3;j++)
x[k]=b[k]-a[k][j]*x[j];
x[k]=x[k]/a[k][k];
}
//输出最后结果
for(i=0;i<3;i++)
cout<<"x"<<i+1<<"="<<x[i]<<" "<<"\n";
return 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -