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

📄 d9r3.cpp

📁 这个是常用的数值算法用VC编写的。相信对大家有用哦。
💻 CPP
字号:
#include "iostream.h"

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];
		}
	}
}

void main()
{
    //program d9r3
    //driver for routine covsrt
    int i,j,ma = 10;
    int mfit = 5;
    double covar[101];
	int lista[6];
    for (i = 1; i<=ma; i++)
	{
        for (j = 1; j<=ma; j++)
		{
            covar[(i-1)*ma+j] = 0.0;
            if (i <= 5 && j <= 5)
			{
                covar[(i-1)*ma+j] = i + j - 1;
            }
        }
    }
    cout<<"Original matrix"<<endl;
    for (i = 1; i<=ma; i++)
	{
        for (j = 1; j<=ma; j++)
		{
            cout<<covar[(i-1)*ma+j]<<"    "; 
        }
		cout<<endl;
    }
    //test 1 - spread by 2
    cout<<"test #1 - spread by two"<<endl;
    for (i = 1; i<=mfit; i++)
	{
        lista[i] = 2 * i;
    }
    covsrt(covar, ma, ma, lista, mfit);
    for (i = 1; i<=ma; i++)
	{
        for (j = 1; j<=ma; j++)
		{
            cout<<covar[(i-1)*ma+j]<<"    "; 
        }
		cout<<endl;
    }
    //test 2 - reverse
    cout<<"test #2 - reverse"<<endl;
    for (i = 1; i<=ma; i++)
	{
        for (j = 1; j<=ma; j++)
		{
            covar[(i-1)*ma+j] = 0.0;
            if (i <= 5 && j <= 5)
			{
                covar[(i-1)*ma+j] = i + j - 1;
            }
        }
    }
    for (i = 1; i<=mfit; i++)
	{
        lista[i] = mfit + 1 - i;
    }
    covsrt(covar, ma, ma, lista, mfit);
    for (i = 1; i<=ma; i++)
	{
        for (j = 1; j<=ma; j++)
		{
            cout<<covar[(i-1)*ma+j]<<"    "; 
        }
		cout<<endl;
    }
    //test 3 - spread and reverse
    cout<<"test #3 - spread and reverse"<<endl;
    for (i = 1; i<=ma; i++)
	{
        for (j = 1; j<=ma; j++)
		{
            covar[(i-1)*ma+j] = 0.0;
            if (i <= 5 && j <= 5)
			{
                covar[(i-1)*ma+j] = i + j - 1;
            }
        }
    }
    for (i = 1; i<=mfit; i++)
	{
        lista[i] = ma + 2 - 2 * i;
    }
    covsrt(covar, ma, ma, lista, mfit);
    for (i = 1; i<=ma; i++)
	{
        for (j = 1; j<=ma; j++)
		{
            cout<<covar[(i-1)*ma+j]<<"    "; 
        }
		cout<<endl;
    }
}

⌨️ 快捷键说明

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