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

📄 高斯消去法.cpp

📁 高斯消去法
💻 CPP
字号:
#include <iostream.h>
void main()
{
	double a[10][10],b[10],d,t,m,sum;
	int i,j,l,k,n;
	cout<<"请输入方程的个数(n的值):";
	cin>>n;
	for(i=0;i<=n-1;i++)
	{
		cout<<"请输入b["<<i+1<<"]的值:";
		cin>>m;
		b[i]=m;
		for(j=0;j<=n-1;j++)
		{
			cout<<"请输入a["<<i+1<<"]["<<j+1<<"]的值:";
			cin>>m;
			a[i][j]=m;
		}
		cout<<endl;
	}
	k=0;
	while(k!=n)
	{
		d=a[k][k];
		l=k;
		i=k+1;
		while(i!=n)
		{
			if((a[i][k]*a[i][k])>(d*d))
			{
				d=a[i][k];
				l=i;
			}
			i=i+1;
		}
		if(d==0)
			cout<<"$"<<endl;
		if(l!=k)
		{
			for(j=k;j<=n-1;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-1;j++)
		{
			a[k][j]=a[k][j]/a[k][k];
		}
		b[k]=b[k]/a[k][k];
		for(i=k+1;i<=n-1;i++)
		{
			for(j=k+1;j<=n-1;j++)
				a[i][j]=a[i][j]-a[i][k]*a[k][j];
		}
		for(i=k+1;i<=n-1;i++)
		{
			b[i]=b[i]-a[i][k]*b[k];
		}
		k=k+1;
	}
	for(i=n-1;i>=0;i--)
	{
		sum=0;
		for(j=i+1;j<=n-1;j++)
			sum=sum+a[i][j]*b[j];
		b[i]=b[i]-sum;
	}
	for(i=0;i<=n-1;i++)
		cout<<"b("<<i+1<<")的值为:"<<b[i]<<endl;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -