Транспонирую X

This commit is contained in:
AZEN-SGG 2025-04-08 17:36:34 +03:00
parent 9ac855db96
commit b087cb236a

View file

@ -45,22 +45,17 @@ int t14_solve(int n, double * restrict A, double * restrict X, int * restrict c)
int kn = k*n; int kn = k*n;
int in = max_i*n; int in = max_i*n;
for (int i = 0; i < k; ++i) for (int im = max_i, ik = k; im < n*n; im+=n, ik+=n)
{ {
int kni = kn+i, ini = in+i; double swap = X[ik];
double swap = X[kni]; X[ik] = X[im];
X[kni] = X[ini]; X[im] = swap;
X[ini] = swap;
} }
for (int i = k; i < n; ++i) for (int i = k; i < n; ++i)
{ {
int kni = kn+i, ini = in+i; int kni = kn+i, ini = in+i;
double swap = X[kni]; double swap = A[kni];
X[kni] = X[ini];
X[ini] = swap;
swap = A[kni];
A[kni] = A[ini]; A[kni] = A[ini];
A[ini] = swap; A[ini] = swap;
} }
@ -96,6 +91,7 @@ int t14_solve(int n, double * restrict A, double * restrict X, int * restrict c)
// print_matrix(X, n, n); // print_matrix(X, n, n);
} }
transpose(n, X);
gauss_back_substitution(n, A, X); gauss_back_substitution(n, A, X);
// Возвращаем строки назад // Возвращаем строки назад