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

📄

📁 收集的C语言算法程序
💻
字号:
        /***************data.txt******************
                                                                          0 0 0 0 0
                                                                          0 -1 2 -2 -1
                                                                          0 3 -1 4 7
                                                                          0 2 -3 -2 0
                                                             ******************************************/
#include<fstream>
#include<iostream>
using namespace std;
#define N 3
void main()
{
int i,j,k;
double a[N+1][N+2];
fstream f("data.txt",ios::in);
 if(!f)
 {
 cerr<<"文件打开失败,程序已被中止!\n"<<endl;
exit(1);
 }
 for(i=1;i<=N;i++)
 for(j=1;j<=N+1;j++)
   f>>a[i][j];
  f.close(); 
 static double U[N+1][N+2],L[N+1][N+2];

 /* 进行LU分解*/
 for(i=1;i<=N;i++)
 {
  //获取L
  for(j=1;j<=i-1;j++)
  {
   for(k=1;k<=j-1;k++)
   {
    a[i][j]-=a[i][k]*a[k][j];
   }
   a[i][j]/=a[j][j];
   L[i][j]=a[i][j];
  }
  //获取U
  for(j=i;j<=N;j++)
  {
   for(k=1;k<=i-1;k++)
   {
    a[i][j]-=a[i][k]*a[k][j];
   }
   U[i][j]=a[i][j];
  }
 }
   //获取y
 for(i=1;i<=N;i++)
 {
    //用b代替y
  for(j=1;j<=i-1;j++)
   {
    a[i][N+1]-=a[i][j]*a[j][N+1];
   }
 }
   //获取x
 for(i=N;i>=1;i--)
 {
  for(j=i+1;j<=N;j++)
   {
    a[i][N+1]-=a[i][j]*a[j][N+1];
   }
    a[i][N+1]/=a[i][i];
 } 
 cout<<"****矩阵U****\n";
 for(i=1;i<N+1;i++)
 {
  for(j=1;j<N+2;j++)
  {
   cout<<U[i][j]<<ends;
  }
  cout<<endl;       
 }
 cout<<"****矩阵L****\n";
 for(i=1;i<N+1;i++)
 {
  for(j=1;j<N+2;j++)
   {
    cout<<L[i][j]<<ends;
   }
  cout<<endl; 
 }
 cout<<"****************************X**********************************\n";
 cout<<"经过LU分解法计算知,该方程组的解为:x1="<<a[1][N+1]<<ends<<"x2="<<a[2][N+1]<<ends<<"x3="<<a[3][N+1]<<endl;
} 


⌨️ 快捷键说明

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