void functionB(double **& A, double*& B, int n, double **& U, double **& L) { //wiersz 1. U for (int j = 1; j <= n; j++) U[1][j] = A[1][j]; //kolumna 1. L if (U[1][1] ==0) throw -1; else{ for (int j = 2; j <= n; j++) L[j][1] = A[j][1] / U[1][1]; } //i>1 for (int i = 2; i <= n; i++){ double sumU = 0; double sumL = 0; for (int j = i; j <= n; j++){ //U sumU = 0; for (int k = 1; k <= i - 1; k++) sumU += L[i][k] * U[k][j]; U[i][j] = A[i][j] - sumU; } for (int j = i + 1; j <= n; j++){ //L sumL = 0; for (int k = 1; k <= i - 1; k++) sumL += L[j][k] * U[k][i]; if (U[i][i] == 0) //sprawdzenie throw - 1; else L[j][i] = (A[j][i] - sumL) / U[i][i]; } } }