Advertisement
Guest User

Assignment

a guest
Sep 17th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.79 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. void LUdecomposition(float a[10][10], float l[10][10], float u[10][10], int n)
  6. {
  7.  
  8.     int i = 0, j = 0, k = 0;
  9.  
  10.     for (i = 0; i < n; i++)
  11.     {
  12.  
  13.         for (j = 0; j < n; j++)
  14.         {
  15.  
  16.             if (j < i)
  17.  
  18.                 l[j][i] = 0;
  19.  
  20.             else
  21.             {
  22.  
  23.                 l[j][i] = a[j][i];
  24.  
  25.                 for (k = 0; k < i; k++)
  26.                 {
  27.  
  28.                     l[j][i] = l[j][i] - l[j][k] * u[k][i];
  29.  
  30.                 }
  31.  
  32.             }
  33.  
  34.         }
  35.  
  36.         for (j = 0; j < n; j++)
  37.         {
  38.  
  39.             if (j < i)
  40.  
  41.                 u[i][j] = 0;
  42.  
  43.             else if (j == i)
  44.  
  45.                 u[i][j] = 1;
  46.  
  47.             else
  48.             {
  49.  
  50.                 u[i][j] = a[i][j] / l[i][i];
  51.  
  52.                 for (k = 0; k < i; k++)
  53.                 {
  54.  
  55.                     u[i][j] = u[i][j] - ((l[i][k] * u[k][j]) / l[i][i]);
  56.  
  57.                 }
  58.  
  59.             }
  60.  
  61.         }
  62.  
  63.     }
  64.  
  65. }
  66.  
  67.  
  68.  
  69. int main()
  70. {
  71.  
  72.     float a[10][10], l[10][10], u[10][10];
  73.  
  74.     int n = 0, i = 0, j = 0;
  75.  
  76.  
  77.  
  78.     cout << "Enter size of square matrix : "<<endl;
  79.  
  80.     cin >> n;
  81.  
  82.  
  83.  
  84.     cout<<"Enter matrix values: "<<endl;
  85.  
  86.     for (i = 0; i < n; i++)
  87.  
  88.         for (j = 0; j < n; j++)
  89.  
  90.             cin >> a[i][j];
  91.  
  92.     LUdecomposition(a, l, u, n);
  93.  
  94.     cout << "L Decomposition is as follows..."<<endl;
  95.  
  96.     for (i = 0; i < n; i++)
  97.     {
  98.  
  99.         for (j = 0; j < n; j++)
  100.         {
  101.  
  102.             cout<<l[i][j]<<" ";
  103.  
  104.         }
  105.  
  106.         cout << endl;
  107.  
  108.     }
  109.  
  110.     cout << "U Decomposition is as follows..."<<endl;
  111.  
  112.     for (i = 0; i < n; i++)
  113.     {
  114.  
  115.         for (j = 0; j < n; j++)
  116.         {
  117.  
  118.             cout<<u[i][j]<<" ";
  119.  
  120.         }
  121.  
  122.         cout << endl;
  123.  
  124.     }
  125.  
  126.     return 0;
  127.  
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement