Haval1

Gaussian Method

Dec 19th, 2018
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. // Example program
  2. #include "stdafx.h"
  3. #include <iostream>
  4. #include <string>
  5. using namespace std;
  6. int main()
  7. {
  8.     float a[3][4], s1, s2, s3, s4, s5, s6, t, x, y, z;
  9.     int i, j;
  10.     for (i = 0;i < 3;i++)
  11.         for (j = 0;j < 4;j++)
  12.             cin >> a[i][j];
  13.     if (a[0][0] == 0 && a[1][0] != 0) {
  14.         for (j = 0;j < 4;j++) {
  15.             t = a[0][j];
  16.             a[0][j] = a[1][j];
  17.             a[1][j] = t;
  18.         }
  19.     }
  20.     else if (a[0][0] == 0 && a[1][0] == 0) {
  21.         for (j = 0;j < 4;j++) {
  22.             t = a[0][j];
  23.             a[0][j] = a[2][j];
  24.             a[2][j] = t;
  25.         }
  26.     }
  27.     s1 = a[0][0];
  28.     for (j = 0;j < 4;j++)
  29.         a[0][j] = a[0][j] / s1;
  30.     s2 = a[1][0];
  31.     for (j = 0;j < 4;j++)
  32.         a[1][j] = (-s2*a[0][j]) + a[1][j];
  33.     s3 = a[2][0];
  34.     for (j = 0;j < 4;j++)
  35.         a[2][j] = (-s3*a[0][j]) + a[2][j];
  36.  
  37.     if(a[1][1]==0)
  38.         for (j = 0;j < 4;j++) {
  39.             t = a[1][j];
  40.             a[1][j] = a[2][j];
  41.             a[2][j] = t;
  42.         }
  43.     s4 = a[1][1];
  44.     for (j = 0;j < 4;j++)
  45.         a[1][j] = a[1][j] / s4;
  46.  
  47.     s5 = a[2][1];
  48.     for (j = 0;j < 4;j++)
  49.         a[2][j] = (-s5*a[1][j]) + a[2][j];
  50.  
  51.     s6 = a[2][2];
  52.     for (j = 0;j < 4;j++)
  53.         a[2][j] = a[2][j] / s6;
  54.  
  55.     for (i = 0;i < 3;i++) {
  56.         for (j = 0;j < 4;j++)
  57.             cout << a[i][j] << "   ";
  58.         cout << endl;
  59.     }
  60.     z = a[2][3];
  61.     y = a[1][2] - (a[1][2] * z);
  62.     x = a[0][3] - ((a[0][1] * y) + (a[0][2] * z));
  63.     cout << "x : " << x << endl << "y :" << y << endl << "z : " << z << endl;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment