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

📄 列主元素gauss消元法.cpp

📁 高斯消元算法
💻 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 + -