#include #include using namespace std; const int n = 4; // функция оценки прогрешности double Delta(double *X, double *x, double a); void PrintVector(double *X); int main() { // исходные данные =================================================== // Матрица А double A[n][n] = { { 0.53, 0.011, 0.035, 0.09 }, { -0.73, 0.58, 0, 0 }, { 0.154, 0.012, 0.42, 0.03 }, { 0, -0.061, 0.02, 0.32 }, } ; // вектор б double b[n] = { 1.39, 1.74, -2.05, -1.73 }; // норма double a =0.299; // эпсилон double eps = 0.001; // вычисления ======================================================== // счетчик итераций int k = 0; // вектор приблиения double x[n]; // вектор с решением системы double X[n]; // итерации while (true) { // если первая итерация-в качествеприближения берем вектор б if (!k) memcpy(x, b, n*sizeof(double)); else memcpy(x, X, n*sizeof(double)); // обнуляем вектор с решением системы memset(X, 0, n*sizeof(double)); // подсчитываем значения for (int i=0; i max) max = f; } return (a/(1-a))*max; } void PrintVector(double *X) { for (int i=0; i