Tomki

Untitled

Feb 1st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.38 KB | None | 0 0
  1. // LU.cpp: определяет точку входа для консольного приложения.
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include <iostream>
  6.  
  7. using namespace std;
  8.  
  9.  
  10. int main()
  11. {
  12.     const int n = 3;
  13.     double sum = 0;
  14.  
  15. //  cout << "Введите порядок матрицы\n n = ";
  16. //  cin >> n;
  17.  
  18.     double A[n][n];
  19.     double L[n][n];
  20.     double U[n][n];
  21.  
  22.     //задаем матрицу A[][] ...
  23.  
  24.     for (int i = 0; i < n; i++)
  25.     {
  26.         for (int j = 0; j < n; j++)
  27.         {
  28.             cout << "\na[" << i << "][" << j << "] = ";
  29.             cin >> A[i][j];
  30.  
  31.             L[i][j] = 0;
  32.             U[i][j] = 0;
  33.  
  34.             if (i == j)
  35.                 U[i][j] = 1;
  36.         }
  37.     }
  38.  
  39.     for (int i = 0; i < n; i++)
  40.     {
  41.         for (int j = 0; j < n; j++)
  42.         {
  43.             U[0][i] = A[0][i];
  44.             L[i][0] = A[i][0] / U[0][0];
  45.             sum = 0;
  46.             for (int k = 0; k < i; k++)
  47.             {
  48.                 sum += L[i][k] * U[k][j];
  49.             }
  50.             U[i][j] = A[i][j] - sum;
  51.             if (i > j)
  52.             {
  53.                 L[j][i] = 0;
  54.             }
  55.             else
  56.             {
  57.                 sum = 0;
  58.                 for (int k = 0; k < i; k++)
  59.                 {
  60.                     sum += L[j][k] * U[k][i];
  61.                 }
  62.                 L[j][i] = (A[j][i] - sum) / U[i][i];
  63.             }
  64.         }
  65.     }
  66.  
  67.     for (int i = 0; i < n; i++)
  68.     {
  69.         for (int j = 0; j < n; j++)
  70.         {
  71.             cout << "   " << L[i][j] << "   ";
  72.         }
  73.         cout << "\n\n";
  74.     }
  75.  
  76.     cout << "\n\n";
  77.  
  78.     for (int i = 0; i < n; i++)
  79.     {
  80.         for (int j = 0; j < n; j++)
  81.         {
  82.             cout << "   " << U[i][j] << "   ";
  83.         }
  84.         cout << "\n\n";
  85.     }
  86.  
  87.     return 0;
  88. }
Advertisement
Add Comment
Please, Sign In to add comment