gaussi

Posted dixinfan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gaussi相关的知识,希望对你有一定的参考价值。

  1 #include <iostream>
  2 #include <cstdio>
  3 #include <math.h>
  4 using namespace std;
  5 const int MAXN = 10000;
  6 double a[MAXN][MAXN];
  7 double b[MAXN];
  8 double x[MAXN];
  9 int main()
 10 {
 11     int n;
 12     double l;
 13     while(cin >> n){///方程组阶数
 14         for(int i = 0;i<n;i++)cin >> b[i];///输入方程组右端
 15         for(int i = 0;i<n;i++){
 16             for(int j = 0;j<n;j++){
 17                 cin >> a[i][j];///系数矩阵
 18             }
 19         }
 20         ///消元过程
 21         for(int k = 0;k<n-1;k++){///消元行
 22             for(int i = k+1;i<n;i++){///被消元行
 23                 l = a[i][k]/a[k][k];
 24                 for(int j = k;j<n;j++){
 25                     a[i][j]-=l*a[k][j];
 26                 }
 27                 b[i]-=b[k]*l;
 28             }
 29         }
 30  
 31         ///回带过程
 32         for(int i = n-1;i>=0;i--){
 33                 x[i] = b[i];
 34             for(int j = n-1;j>i;j--){
 35                 x[i] -= a[i][j]*x[j];
 36             }
 37             x[i] /= a[i][i];
 38         }
 39  
 40         ///
 41         for(int i = 0;i<n;i++){
 42             if(!i)cout << x[i];
 43             else cout << " " << x[i];
 44         }
 45         cout << endl;
 46         break;
 47     }
 48     //-------
 49 
 50     double maxs;
 51     while(cin >> n){
 52         for(int i = 0;i<n;i++)cin >> b[i];
 53         for(int i = 0;i<n;i++){
 54             for(int j = 0;j<n;j++){
 55                 cin >> a[i][j];
 56             }
 57         }
 58         ///消元过程
 59         for(int k = 0;k<n-1;k++){///消元行
 60             int cur = k;
 61             maxs = fabs(a[k][k]);
 62             for(int i = k;i<n;i++)if(maxs<fabs(a[i][k])){maxs = fabs(a[i][k]);cur = i;}///选主元
 63             if(cur != k){
 64                 double temp;
 65                 for(int j = k;j<n;j++){
 66                     temp = a[k][j];
 67                     a[k][j] = a[cur][j];
 68                     a[cur][j] = temp;
 69                 }
 70                 temp = b[k];b[k] = b[cur];b[cur] = temp;
 71             }
 72  
 73             for(int i = k+1;i<n;i++){///被消元行
 74                 l = a[i][k]/a[k][k];
 75                 for(int j = k;j<n;j++){
 76                     a[i][j]-=l*a[k][j];
 77                 }
 78                 b[i]-=b[k]*l;
 79             }
 80         }
 81  
 82         ///回带过程
 83         for(int i = n-1;i>=0;i--){
 84                 x[i] = b[i];
 85             for(int j = n-1;j>i;j--){
 86                 x[i] -= a[i][j]*x[j];
 87             }
 88             x[i] /= a[i][i];
 89         }
 90  
 91         ///
 92         for(int i = 0;i<n;i++){
 93             if(!i)cout << x[i];
 94             else cout << " " << x[i];
 95         }
 96         cout << endl;
 97         break;
 98     } 
 99     return 0;
100 }

 

以上是关于gaussi的主要内容,如果未能解决你的问题,请参考以下文章

如何将命令 imagemagick 转换为 php 代码?

微信小程序代码片段

pyrDown 出错

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?