covsrt.cpp
来自「c经典算法(包括源码)」· C++ 代码 · 共 45 行
CPP
45 行
void covsrt(double covar[], int ncvm, int ma, int lista[], int mfit)
{
int i,j;
double swap;
for (j = 1; j<=ma - 1; j++)
{
for (i = j + 1; i<=ma; i++)
{
covar[(i-1)*ma+j] = 0.0;
}
}
for (i = 1; i<=mfit - 1; i++)
{
for (j = i + 1; j<=mfit; j++)
{
if (lista[j] > lista[i])
{
covar[(lista[j]-1)*ma+lista[i]] = covar[(i-1)*ma+j];
}
else
{
covar[(lista[i]-1)*ma+lista[j]] = covar[(i-1)*ma+j];
}
}
}
swap = covar[1];;
for (j = 1; j<=ma; j++)
{
covar[j] = covar[(j-1)*ma+j];
covar[(j-1)*ma+j] = 0.0;
}
covar[(lista[1]-1)*ma+lista[1]] = swap;
for (j = 2; j<=mfit; j++)
{
covar[(lista[j]-1)*ma+lista[j]] = covar[j];
}
for (j = 2; j<=ma; j++)
{
for (i = 1; i<=j - 1; i++)
{
covar[(i-1)*ma+j] = covar[(j-1)*ma+i];
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?