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

📄 高斯消去法.txt

📁 数值分析上高斯消去法的源代码 运行环境 c++ builder
💻 TXT
字号:
#include<iostream>
#include<memory>
using namespace std;
int main()
{
    int i,j,n,k;
  //  float A[n][n],m[n-1],B[n],x[n];
	float A[500][500],m[500],B[300],x[300];
     while(1)
     {
          cout<<"请输入矩阵的维数N"<<endl; 
          cin>>n;
		  cout<<"请输入一个增广矩阵"<<endl; 
		  
		  for(i=0;i<n;i++)
		  {               
        
			  for(j=0;j<n;j++)
			  {
				  cin>>A[i][j];
        
			  }
			  cin>>B[i];
          } 
		  cout<<" ";
		  cout<<endl;
		  for(k=0;k<n-1;k++)
		  {
			  for(i=k+1;i<n;i++)
			  {
               m[i]=A[i][k]/A[k][k];
			   for(j=k;j<n;j++)
			   {
				   A[i][j]=A[i][j]-m[i]*A[k][j];
			   }
			   B[i]=B[i]-m[i]*B[k];
			   A[i][k]=0;
			  }
			  for(i=0;i<n;i++)
			  {
				  for(j=0;j<n;j++)
					  cout<<A[i][j]<<" ";
				  cout<<B[i]<<" ";
				  cout<<endl;
			  }
			  cout<<" ";  
              cout<<endl;        
		  }
		  float sum=0;
		  x[n-1]=B[n-1]/A[n-1][n-1];
		  for(i=n-2;i>=0;i--)
		  {
			  for(j=n-1;j>i;j--)
			  {
				  sum=sum+A[i][j]*x[j];
          
			  }
           x[i]=(B[i]-sum)/A[i][i];
		   sum=0;
  }
		  for(i=0;i<n-1;i++)
		  {
			  cout<<"x"<<i+1<<"="<<x[i]<<" "<<endl;
		  }
		  cout<<"x"<<n<<"="<<x[n-1]<<endl;
		  cout<<endl;
	 }
   
    return 0;
}

⌨️ 快捷键说明

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