elmhes.cpp

来自「工程计算中经常用到的数值vc算法」· C++ 代码 · 共 58 行

CPP
58
字号
void elmhes(double a[6][6],int n)
{
	int m,j,i;
	double x,y;
    if (n > 2)
	{
        for (m = 2 ; m<=n - 1; m++)
		{
            x = 0.0;
            i = m;
            for (j = m; j<= n; j++)
			{
                if ((fabs(a[j][m - 1])) > fabs(x))
				{
                    x = a[j][m - 1];
                    i = j;
                }
            }
            if (i != m)
			{
                for (j = m - 1; j<=n; j++)
				{
                    y = a[i][j];
                    a[i][j] = a[m][j];
                    a[m][j] = y;
                }
                for (j = 1; j<= n; j++)
				{
                    y = a[j][i];
                    a[j][i] = a[j][m];
                    a[j][m] = y;
                }
            }
            if (x != 0.0)
			{
                for (i = m + 1; i<=n; i++)
				{
                    y = a[i][m - 1];
                    if (y != 0.0)
					{
                        y = y / x;
                        a[i][m - 1] = y;
                        for (j = m; j<=n; j++)
						{
                            a[i][j] = a[i][j] - y * a[m][j];
                        }
                        for (j = 1; j<=n; j++)
						{
                            a[j][m] = a[j][m] + y * a[j][i];
                        }
                    }
                }
			}
        }
	}
}
     

⌨️ 快捷键说明

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