#include #include #include using namespace std; int main() { //ввод матрицы freopen("input.txt", "r", stdin); int n; cin >> n; vector > a(n, vector (n)); for (int i = 0; i < n; ++i) { for (int j = 0; j < n; ++j) { cin >>a[i][j]; } } vector b(n); for (int i = 0; i < n; ++i) { cin >>b[i]; } vector xOld(n); for (int i = 0; i < n; ++i) { cin >> xOld[i]; } vector xNew(n); double eps = 1e-8; double error = eps + 1.0; //вывод матрицы cout << "n:" << n << endl; cout << "matr a:" << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) cout << a[i][j] <<" "; cout << endl; } cout << "vect b:" << endl; for (int i; i < n; i++) { cout << b[i] << endl; } cout << "zero iteration:" << endl; for (int i; i < n; i++) { cout << xOld[i] << endl; } cout << "eps:" << eps << endl; cout << endl; int j = 0; for (int k = 1; error > eps; k++) { for (int i = 0; i < n; i++) { xNew[i] = (b[i] / a[i][i]); for (int j = 0; j < n; j++) { if (j == i) { continue; } xNew[i] = xNew[i] - ((a[i][j] / a[i][i]) * xOld[j]); } } double maxNew = xNew[0]; double maxOld = xOld[0]; for (int i = 1; i < n; ++i){ if (maxNew < xNew[i]){ maxNew = xNew[i]; } if (maxOld < xOld[i]){ maxOld = xOld[i]; } } error = abs(maxNew - maxOld); xOld = xNew; cout << error << endl; cout << maxNew << " " << maxOld << endl; } cout << "Answer:" << endl; for (int i = 0; i < n; i++){ cout << xOld[i] << endl; } }