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

📄 列主元gauss消去.cpp

📁 列主元高斯消去法 是我学习计算方法A时编写的 完成了列主元高斯消去法实现方程组求解。
💻 CPP
字号:
#include <stdio.h>
#include <math.h>


void ColPivot(float *c,int n,float x[])
{
	int i,j,k,t;
	float key;
	for(i=0;i<=n-2;i++)
	{
		k=i;
		for(j=i+1;j<n-1;j++)
			if(fabs(*(c+j*(n+1)+i))>(fabs(*(c+k*(n+1)+i))))
				k=j;
		if(k!=i)
			for(j=i;j<=n;j++)
			{
				key=*(c+i*(n+1)+j);
				*(c+i*(n+1)+j)=*(c+k*(n+1)+j);
				*(c+k*(n+1)+j)=key;
			}
		for(j=i+1;j<=n-1;j++)
		{
			key=(*(c+j*(n+1)+i))/(*(c+i*(n+1)+i));
			for(t=i;t<=n;t++)
				*(c+j*(n+1)+t)-=key*(*(c+i*(n+1)+t));
		}
	}
	for(i=n-1;i>=0;i--)
	{
		for(j=n-1;j>=i+1;j--)
			(*(c+i*(n+1)+n))-=x[j]*(*(c+i*(n+1)+j));
		x[i]=*(c+i*(n+1)+n)/(*(c+i*(n+1)+i));
	}
}



void main()
{
	void ColPivot(float *,int,float[]);
	int i;
	float x[4];
	float c[4][5]={1.0,-1.0,2.0,-1.0,-8.0,
					2.0,-2.0,3.0,-3.0,-20.0,
					1.0,1.0,1.0,0.0,-2.0,
					1.0,-1.0,4.0,3.0,4.0
					};
	ColPivot(c[0],4,x);
	for(i=0;i<=3;i++)
		printf("x[%d]=%f\n",i,x[i]);
}

⌨️ 快捷键说明

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