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

📄 列主元高斯消去法.cpp

📁 其中含有数值分析常用的15个算法,经测试 全部可以使用,而且语言简练,语句简单
💻 CPP
字号:
#include<iostream.h>
#include<math.h>

void main()
{
	int i;
	float *x;
	float c[3][4] ={0.101,2.304,3.555,1.183,
					-1.347,3.712,4.623,2.137,
					-2.835,1.072,5.643,3.035};
	float *ColPivot(float *,int);
	x=ColPivot(c[0],3);
	for( i=0;i<=2;i++ )
		cout<<"x("<<i<<")="<<x[i]<<endl;
}

float *ColPivot( float *c,int n )
{
	int i,j,t,k;
	float *x,p;
 	x=new float[n*sizeof(float)];
	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++ )
				{
					p=*(c+i*(n+1)+j);
					*(c+i*(n+1)+j)=*(c+k*(n+1)+j);
					*(c+k*(n+1)+j)=p;
				}
		for( j=i+1;j<=n-1;j++ )
		{
			p=(*(c+j*(n+1)+i))/(*(c+i*(n+1)+i));
			for( t=i;t<=n;t++ )
				*(c+j*(n+1)+t)-=p*(*(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));
	}
	return x;
}
				

⌨️ 快捷键说明

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