📄 gs_seidel.cpp
字号:
// Gs_Seidel.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream.h"
#include "math.h"
#include "iomanip.h"
#define max 100
int main(int argc, char* argv[])
{
int i,a,b,j;
float A[max][max],B[max][max],x,c,m,h,hh;
cout <<"请输入方程组的行数和列数元素:";
cin >>a;
cin >>b;
cout <<endl;
for(i=0;i<=a;i++)//初始化矩阵全为0
{
for(j=0;j<=b;j++)
A[i][j]=0;
}
for(i=0;i<=a;i++)//初始化矩阵全为0
{
for(j=0;j<=b;j++)
B[i][j]=0;
}
/* for(i=1;i<=a;i++)
{
for(j=1;j<=b;j++)
cout <<A[i][j]<<" ";
cout <<endl;
}*/
cout <<"请输入方程组的系数和常数项:"<<endl;
for(i=1;i<=a;i++)
{
for(j=1;j<=b;j++)
{
cin >>c;
if(a==-10000)
break;
A[i][j]=c;
}
}
cout <<endl;
cout <<"请输出方程组的系数和常数项:"<<endl;
for(i=1;i<=a;i++)
{
for(j=1;j<=b;j++)
cout <<setw(5)<<A[i][j]<<" ";
cout <<endl;
}
cout <<endl;
for(i=1;i<=a;i++)
{
for(j=1;j<=b;j++)
{
m=A[i][i];
if(j!=i)
A[i][j]=A[i][j]/m;
}
}
for(i=1;i<=a;i++)
{
A[i][i]=0;
}
for(i=1;i<=a;i++)
{
for(j=1;j<=b;j++)
cout <<" "<<A[i][j]<<" ";
cout <<endl;
}
cout <<endl;
cout <<"请输入方程组解的初始值:";
for(i=1;i<=a;i++)
{
cin >>x;
A[i][0]=x;
}
cout <<endl;
for(i=1;i<=a;i++)
{
cout <<" "<<A[i][0]<<" ";
cout <<endl;}
A: for(i=1;i<=a;i++)
{
h=0.0;
h=A[i][0];
A[i][0]=0;
for(j=1;j<=a;j++)
{
A[i][0]+=((-A[i][j])*A[j][0]);
}
A[i][0]+=A[i][b];
B[i][0]=A[i][0]-h;
}
// for(i=1;i<=a;i++)
// {
//
// cout <<" "<<A[i][0]<<" "<<endl;
// }
// for(i=1;i<=a;i++)
// {
//
// cout <<" "<<B[i][0]<<" "<<endl;
// }
for(j=1;j<2;j++)
{
hh=0.0;
hh=B[1][0];
for(i=1;i<=a;i++)
{
if(B[i][0]>hh)
{
hh=B[i][0];
B[1][0]=hh;
}
}
// for(i=1;i<=a;i++)
// {
// cout <<" "<<B[i][0]<<" ";
// cout <<endl;}
// cout <<endl;
}
if(fabs(B[1][0])<0.01)
{
for(i=1;i<=a;i++)
{
cout <<" "<<A[i][0]<<" ";
cout <<endl;
}
}
else
goto A;
/* for(i=1;i<=a;i++)
{
cout <<" "<<A[i][0]<<" ";
cout <<endl;}*/
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -