Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // LU.cpp: определяет точку входа для консольного приложения.
- //
- #include "stdafx.h"
- #include <iostream>
- using namespace std;
- int main()
- {
- const int n = 3;
- double sum = 0;
- // cout << "Введите порядок матрицы\n n = ";
- // cin >> n;
- double A[n][n];
- double L[n][n];
- double U[n][n];
- //задаем матрицу A[][] ...
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- cout << "\na[" << i << "][" << j << "] = ";
- cin >> A[i][j];
- L[i][j] = 0;
- U[i][j] = 0;
- if (i == j)
- U[i][j] = 1;
- }
- }
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- U[0][i] = A[0][i];
- L[i][0] = A[i][0] / U[0][0];
- sum = 0;
- for (int k = 0; k < i; k++)
- {
- sum += L[i][k] * U[k][j];
- }
- U[i][j] = A[i][j] - sum;
- if (i > j)
- {
- L[j][i] = 0;
- }
- else
- {
- sum = 0;
- for (int k = 0; k < i; k++)
- {
- sum += L[j][k] * U[k][i];
- }
- L[j][i] = (A[j][i] - sum) / U[i][i];
- }
- }
- }
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- cout << " " << L[i][j] << " ";
- }
- cout << "\n\n";
- }
- cout << "\n\n";
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < n; j++)
- {
- cout << " " << U[i][j] << " ";
- }
- cout << "\n\n";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment