Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.03 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. const int N = 3;
  4.  
  5. int main() {
  6.     double matrix[N][N + 1];
  7.     for (int i = 0; i < N; ++i) {
  8.         for (int j = 0; j < N + 1; ++j) {
  9.             scanf("%lf", &(matrix[i][j]));
  10.         }
  11.     }
  12.     for (int k = 0; k < N; ++k) {
  13.         for (int i = 0; i < N; ++i) {
  14.             if (matrix[i][k] != 0){
  15.                 int check = 1;
  16.                 for (int j = 0; j < k; ++j) {
  17.                     if (matrix[i][j] != 0){
  18.                         check = 0;
  19.                         break;
  20.                     }
  21.                 }
  22.                 if (check){
  23.                     double elem = matrix[i][k];
  24.                     for (int j = 0; j < N + 1; ++j) {
  25.                         matrix[i][j] /= elem;
  26.                     }
  27.                     /*for (int m = 0; m < N; ++m) {
  28.                         for (int j = 0; j < N + 1; ++j) {
  29.                             printf("%lf ", matrix[m][j]);
  30.                         }
  31.                         printf("\n");
  32.                     }
  33.                     printf("\n");*/
  34.                     for (int l = 0; l < N; ++l) {
  35.                         if (l == i){
  36.                             continue;
  37.                         }
  38.                         double coef = matrix[l][k];
  39.                         for (int j = 0; j < N + 1; ++j) {
  40.                             matrix[l][j] -= matrix[i][j] * coef;
  41.                         }
  42.                     }
  43.                     /*for (int m = 0; m < N; ++m) {
  44.                         for (int j = 0; j < N + 1; ++j) {
  45.                             printf("%lf ", matrix[m][j]);
  46.                         }
  47.                         printf("\n");
  48.                     }
  49.                     printf("\n");*/
  50.                 }
  51.             }
  52.         }
  53.     }
  54.     for (int m = 0; m < N; ++m) {
  55.         for (int i = 0; i < N + 1; ++i) {
  56.             printf("%lf ", matrix[m][i]);
  57.         }
  58.         printf("\n");
  59.     }
  60.     for (int n = 0; n < N; ++n) {
  61.         printf("x%d = %lf\n", n + 1, matrix[n][N]);
  62.     }
  63.     return 0;
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement