📄 高斯消去.cpp
字号:
//解线性方程组的高斯消去法//
#include<iostream.h>
#define T 100
void main()
{float a[T][T],b[T],sum;
int i,j,k,n,l;
s:cout<<"//高斯消去的程序实例//"<<endl<<"输入维数:";
cin>>n;
cout<<"输入矩阵A的元素:"<<endl;
for(i=1;i<=n;i++)
{for(j=1;j<=n;j++)
cin>>a[i][j];
}
cout<<"输入矩阵b的元素:"<<endl;
for(i=1;i<=n;i++)
cin>>b[i];
k=1;
loop:if(a[k][k]!=0)
{
for(i=k+1;i<=n;i++)
{a[i][k]=a[i][k]/a[k][k];
b[i]=b[i]-a[i][k]*b[k];
for(j=k+1;j<=n;j++)
a[i][j]=a[i][j]-a[i][k]*a[k][j];
}
if(k==n-1)
{
if(a[n][n]==0)goto p;
else{
b[n]=b[n]/a[n][n];
for(k=n-1;k>=1;k--)
{sum=0;
for(l=k+1;l<=n;l++)
sum+=a[k][l]*b[l];
b[k]=(b[k]-sum)/a[k][k];
}
for(i=1;i<=n;i++)
{cout<<'X'<<i<<'='<<b[i]<<endl;}
goto s;}
}
else {k++;goto loop;}
}
else p:cout<<"出错信息"<<endl;goto s;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -