main.cpp

来自「本实例通过VC++实现了JACOBI 和SOR 算法」· C++ 代码 · 共 76 行

CPP
76
字号
#include<iostream.h>
#include"J.h"
#include"sor.h"

void main()
{
/*	cout<<"本试测试Jacobi法解方程组,下面请输入系数方阵的长度:";
	int n;
	cin>>n;
	cout<<"请输入一个系数矩阵,请务必按行输入,每输入个系数请巧一次回车:"<<endl;
	
	double **a=new double*[n];
	for(int i=0;i<n;i++)
		a[i]=new double[n];

	for(int j=0;j<n;j++)
		for(int k=0;k<n;k++)
			cin>>a[j][k];
	cout<<"输入系数结束"<<endl<<endl;

	cout<<"请输入常数向量:"<<endl;
	double *b=new double[n];
	for(j=0;j<n;j++)
		cin>>b[j];
	cout<<endl;

	cout<<"下面是Jacobi法求解的结果,各未知数分别为:"<<endl;
	Jacobi(a,b,n);

	delete []b;
	for(j=0;j<n;j++)
		delete []a[j];

	cout<<endl<<endl<<endl;*/




	cout<<"下面测试SOR法解方程组,下面请输入系数方阵的长度:";
	int n1;
	cin>>n1;

	cout<<"请输入限制次数M:";
	int m1;
	cin>>m1;

	cout<<"请输入超松弛因子W:";
	int w;
	cin>>w;

	cout<<"请输入一个系数矩阵,请务必按行输入,每输入个系数请巧一次回车:"<<endl;
	
	double **a1=new double*[n1];
	for(int i1=0;i1<n1;i1++)
		a1[i1]=new double[n1];

	for(int j1=0;j1<n1;j1++)
		for(int k1=0;k1<n1;k1++)
			cin>>a1[j1][k1];
	cout<<"输入系数结束"<<endl<<endl;

	cout<<"请输入常数向量:"<<endl;
	double *b1=new double[n1];
	for(j1=0;j1<n1;j1++)
		cin>>b1[j1];
	cout<<endl;

	cout<<"下面是SOR法求解的结果,各未知数分别为:"<<endl;
	sor(w,a1,b1,n1,m1);

	delete []b1;
	for(j1=0;j1<n1;j1++)
		delete []a1[j1];

	cout<<endl<<endl<<endl;
}

⌨️ 快捷键说明

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