gauss_c.h

来自「利用gauss分解求解线性方程组」· C头文件 代码 · 共 41 行

H
41
字号
int Gauss_C(double A[][n],int u[n])
{
	int i,j,k,p;
	double max,temp;
	for(k=0;k<n-1;k++)
	{
		p=k;
		max=0;
		for(i=k;i<=n-1;i++)
		{
			temp=fabs(A[i][k]);
			if(max<temp)
			{
				max=temp;
				p=i;
			}
		}
		u[k]=p;
		if(p>k)
		{
		   for(j=0;j<=n-1;j++)
		   {
			   temp=A[k][j];
			   A[k][j]=A[p][j];
			   A[p][j]=temp;
		   }
		}
		if(fabs(A[k][k])<eps)
		  return(-1);
		else
		{
			for(i=k+1;i<=n-1;i++)
			{
				A[i][k]=A[i][k]/A[k][k];
				for(j=k+1;j<=n-1;j++)
					A[i][j]=A[i][j]-A[i][k]*A[k][j];
			}
		}
	}
	return(0);
}

⌨️ 快捷键说明

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