c++下编写高斯列主元消去解方程组

来源:百度知道 编辑:UC知道 时间:2024/06/18 06:12:43
求个c++下编写高斯列主元消去解方程组 的程序 如果可以把每步的步骤也能显示出来 也好

这个~
因为熟悉C.所以用C写的~
改下就可以用C++了
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
#define n 3 /*方程组的阶数*/
#define precision 1e-16
static double aa[n][n+1]={{1,2,-1,3},{1,-1,5,0},{4,1,-2,2}};
/*增广矩阵的原始数据*/
void main()
{int i,j,det;double a[n+1][n+2],x[n+1];
int GaussElimination_ColumnSelect();

for(i=1;i<=n;i++) for(j=1;j<=n+1;j++)
/*用a[1][1]~a[n][n+1]存放增广矩阵*/
a[i][j]=aa[i-1][j-1];
det=GaussElimination_ColumnSelect(a,x);
/*调用求解方程的函数,获取返回标志值*/
if(det!=0)
for(i=1;i<=n;i++)
printf("\nx[%d]=%f\n",i,x[i]);printf("\n");
getch();
}
int GaussElimination_ColumnSelect(double a[][n+2],double x[n+1])
/*用列主元高斯消去法求解线性方程组的函数*/
{int i,j,k,r;double c;
for(k=