simp2.cpp
来自「工程算法 这是一个很有用的工程数值算法集锦」· C++ 代码 · 共 57 行
CPP
57 行
void simp2(double a[], int m, int n, int mp, int np, int l2[],
int nl2, int& ip, int kp, double& q1)
{
double q,qp,q0,eps = 0.000001;
ip = 0;
int i,ii,k,flag = 0;
for (i = 1; i<=nl2; i++)
{
if (a[l2[i]*np+kp + 1] < -eps)
{
flag = 1;
}
if (flag == 1)
{
break;
}
}
if (flag == 0)
{
return;
}
q1 = -a[l2[i]*np+ 1] / a[l2[i]*np + kp + 1];
ip = l2[i];
for (i = i + 1; i<=nl2; i++)
{
ii = l2[i];
if (a[ii*np+kp + 1] < -eps)
{
q = -a[ii*np+1] / a[ii*np+kp+1];
if (q < q1)
{
ip = ii;
q1 = q;
}
else
{
if (q == q1)
{
for (k = 1; k<=n; k++)
{
qp = -a[ip*np+k + 1] / a[ip*np+kp + 1];
q0 = -a[ii*np+k + 1] / a[ii*np+kp + 1];
if (q0 != qp)
{
break;
}
}
if (q0 < qp)
{
ip = ii;
}
}
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?