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

📄 try.cpp

📁 隐式消元法计算程序 比较精炼
💻 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 + -