From f22449e1e16817f6d21638b24c0f8b7f66854df7 Mon Sep 17 00:00:00 2001 From: AZEN-SGG Date: Tue, 8 Apr 2025 13:52:44 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A2=D0=BE=D1=87=D0=BD=D0=BE=20=D1=80=D0=B0?= =?UTF-8?q?=D0=B1=D0=BE=D1=82=D0=B0=D0=B5=D1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2025.04.04/dist/Krivoruchenko_SK/solve.c | 37 ++++++++++++------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/2025.04.04/dist/Krivoruchenko_SK/solve.c b/2025.04.04/dist/Krivoruchenko_SK/solve.c index d022231..b4c99c8 100644 --- a/2025.04.04/dist/Krivoruchenko_SK/solve.c +++ b/2025.04.04/dist/Krivoruchenko_SK/solve.c @@ -32,8 +32,8 @@ int t14_solve(int n, double * restrict A, double * restrict X, int * restrict c) } } - printf("\n------- K = %d -------\n", k); - printf("Maximum = %lf i = %d j = %d\n", maximum, max_i, max_j); +// printf("\n------- K = %d -------\n", k); +// printf("Maximum = %lf i = %d j = %d\n", maximum, max_i, max_j); // Если максимальный по модулю элемент равен нулю, значит матрица вырождена if (fabs(maximum) < eps) @@ -81,19 +81,19 @@ int t14_solve(int n, double * restrict A, double * restrict X, int * restrict c) } } - printf("BEFORE GAUSS\n"); - printf("Original matrix:\n"); - print_matrix(A, n, n); - printf("Inverse matrix:\n"); - print_matrix(X, n, n); +// printf("BEFORE GAUSS\n"); +// printf("Original matrix:\n"); +// print_matrix(A, n, n); +// printf("Inverse matrix:\n"); +// print_matrix(X, n, n); gauss_inverse(n, k, A, X); - printf("AFTER GAUSS\n"); - printf("Original matrix:\n"); - print_matrix(A, n, n); - printf("Inverse matrix:\n"); - print_matrix(X, n, n); +// printf("AFTER GAUSS\n"); +// printf("Original matrix:\n"); +// print_matrix(A, n, n); +// printf("Inverse matrix:\n"); +// print_matrix(X, n, n); } gauss_back_substitution(n, A, X); @@ -136,6 +136,7 @@ int t14_solve(int n, double * restrict A, double * restrict X, int * restrict c) return 0; } + // Прямой ход Го ----- йда void gauss_inverse(const int n, const int k, double * restrict A, double * restrict X) { @@ -147,7 +148,7 @@ void gauss_inverse(const int n, const int k, double * restrict A, double * restr for (int ij = kk+1; ij < kn+n; ij++) A[ij] *= inv_akk; - for (int ij = kn; ij <= kk; ij++) + for (int ij = kn; ij < kn + n; ij++) X[ij] *= inv_akk; for (int i = k+1; i < n; ++i) @@ -182,11 +183,11 @@ void gauss_back_substitution(const int n, double * restrict A, double * restrict X[in + j] -= X[kn + j] * aik; } - printf("\n------- K = %d -------\n", k); - printf("Original matrix:\n"); - print_matrix(A, n, n); - printf("Inverse matrix:\n"); - print_matrix(X, n, n); +// printf("\n------- K = %d -------\n", k); +// printf("Original matrix:\n"); +// print_matrix(A, n, n); +// printf("Inverse matrix:\n"); +// print_matrix(X, n, n); } }