⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 高斯消去.cpp

📁 雅可比迭代等一些程序
💻 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 + -