Facebook
From Soft Wigeon, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 234
  1. void functionB(double **& A, double*& B, int n, double **& U, double **& L)
  2. {
  3.         //wiersz 1. U
  4.         for (int j = 1; j <= n; j++)
  5.                 U[1][j] = A[1][j];
  6.  
  7.         //kolumna 1. L
  8.         if (U[1][1] ==0)
  9.                 throw -1;
  10.         else{
  11.                 for (int j = 2; j <= n; j++)
  12.                         L[j][1] = A[j][1] / U[1][1];
  13.         }
  14.         //i>1
  15.         for (int i = 2; i <= n; i++){
  16.                 double sumU = 0;
  17.                 double sumL = 0;
  18.                 for (int j = i; j <= n; j++){           //U
  19.                         sumU = 0;
  20.                         for (int k = 1; k <= i - 1; k++)
  21.                                 sumU += L[i][k] * U[k][j];
  22.                         U[i][j] = A[i][j] - sumU;
  23.                 }
  24.                 for (int j = i + 1; j <= n; j++){       //L
  25.                         sumL = 0;
  26.                         for (int k = 1; k <= i - 1; k++)
  27.                                 sumL += L[j][k] * U[k][i];
  28.                         if (U[i][i] == 0)                               //sprawdzenie
  29.                                 throw - 1;
  30.                         else
  31.                         L[j][i] = (A[j][i] - sumL) / U[i][i];
  32.                 }
  33.         }
  34. }
  35.