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

📄 gauss.cpp

📁 这是数值算法中的高斯消元
💻 CPP
字号:
#include <iostream>
#include <cmath>
using namespace std;

int main()
{

	int i,j,k;
	double m,tmp;
	double A[4][5] ={ {1,-1,1,-4,2},
						  {5,-4,3,12,4},
						  {2,1,1,11,3},
						  {2,-1,7,-1,0}};

	cout<<"\n所求解方程的增广矩阵为:\n";
	for( i=1; i<=4; i++){
		for( j=1; j<=5; j++){
			cout<<A[i-1][j-1]<<'\t';
		}
		cout<<'\n';
	}
	
	for( k=1; k <= 4-1; k++ ){		//消元
		for( i = k+1; i <= 4; i++ ){
			m = A[i-1][k-1]/A[k-1][k-1];
			for( j=1; j <= 4+1; j++ ){
				A[i-1][j-1] = A[i-1][j-1] - m*A[k-1][j-1];
			}
		}
	}

	cout<<"\n\n消元后所形成的上三角增广矩阵:\n";
	for( i=1; i<=4; i++){
		for( j=1; j<=5; j++){
			cout<<A[i-1][j-1]<<'\t';
		}
		cout<<'\n';
	}



	for( i=4; i>=1; i-- ){		//回代
		tmp=0;
		for( j=i+1; j<=4; j++ ){
			tmp = tmp + A[i-1][j-1]*A[j-1][4];
		}
		A[i-1][4] = ( A[i-1][4] - tmp )/A[i-1][i-1];
	}

	cout<<"\n\n输出结果:\n";
	for( i=1; i<=4; i++){
		cout<<"\n\tA["<<i<<"]= "<<A[i-1][4];
	}
	cout<<'\n';

	
	return 0;
}

⌨️ 快捷键说明

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