#include #include #include using namespace std; int main() { freopen("input.txt", "r", stdin); //открываем файл для чтения int n; cin >>n; vector > matrix(n, vector (n + 1)); //исходная матрица vector > modified_matrix(n, vector (n + 1)); //модифицированная матрица //считывание из файла for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cin >>matrix[i][j]; } cin >>matrix[i][n]; } modified_matrix = matrix; //тело метода for (int j = 0; j < n - 1; ++j) { for (int i = j + 1; i < n; ++i) { double c, s; c = modified_matrix[j][j] / sqrt(modified_matrix[j][j] * modified_matrix[j][j] + modified_matrix[i][j] * modified_matrix[i][j]); s = modified_matrix[i][j] / sqrt(modified_matrix[j][j] * modified_matrix[j][j] + modified_matrix[i][j] * modified_matrix[i][j]); vector cur1(n + 1), cur2(n + 1); cur1 = modified_matrix[j]; cur2 = modified_matrix[i]; for (int k = j; k <= n; ++k) { modified_matrix[j][k] = c * cur1[k] + s * cur2[k]; modified_matrix[i][k] = -s * cur1[k] + c * cur2[k]; } } } //выражение переменных из преобразованной треугольной матрицы vector ans(n); for (int i = n - 1; i >= 0; --i) { ans[i] = modified_matrix[i][n]; for (int j = n - 1; j > i; --j) { ans[i] -= modified_matrix[i][j] * ans[j]; } ans[i] /= modified_matrix[i][i]; } cout <