📄 try.cpp
字号:
#include <math.h>
#include <iostream.h>
#define n 3
void main()
{
int i,j,k,r,t;
double max,sum;
double a[3][3]={{2.0,2.0,3.0},{4.0,7.0,7.0},{-2.0,4.0,5.0}};
double x[3],b[3]={3.0,1.0,-7.0};
int P[3]={0,1,2};
for(i=0;i<n;i++)
{for(j=0;j<n;j++)
cout<<a[i][j]<<'\t';
cout<< "b"<<i+1<<"="<<b[i]<<endl;}
cout<<endl;
for(k=0;k<n;k++)
{ r=k;
max=fabs(a[k][k]);
for(i=k;i<n;i++)
{ if(max<fabs(a[i][k]))
{max=fabs(a[i][k]); r=i;}}
if(max==0) {cout<<"方程奇异";break;}
if(k!=r)
{t=P[r]; P[r]=P[k]; P[k]=t;}
if(k<2)
{ for(i=k;i<n;i++)
{for(j=k;j<n;j++) cout<<a[P[i]][j]<<'\t';
cout<<"b"<<i+1<<"="<<b[P[i]]<<endl;}
cout<<endl;}
for(i=k+1;i<n;i++)
{a[P[i]][k]=(a[P[i]][k]/a[P[k]][k]);
for(j=k+1;j<n;j++)
{a[P[i]][j]=a[P[i]][j]-a[P[i]][k]*a[P[k]][j];
cout<<a[P[i]][j]<<'\t';}
b[P[i]]=b[P[i]]-a[P[i]][k]*b[P[k]];
cout<< "b"<<i+1<<"="<<b[P[i]]<<endl; }
if(k<n-1) cout<<endl;}
x[n-1]=b[P[n-1]]/a[P[n-1]][n-1];
for(i=n-2;i>=0;i--)
{sum=0.0;
for(j=i+1;j<n;j++) sum=sum+a[P[i]][j]*x[j];
x[i]=(b[P[i]]-sum)/a[P[i]][i];}
for(i=0;i<n;i++)
cout<<"X"<<i+1<<"="<<x[i]<<endl;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -