#include <bits/stdc++.h>
#define MAXSIZE 100
using namespace std;
int main() {
double A[MAXSIZE][MAXSIZE], x[MAXSIZE], b[MAXSIZE];
int n;
double e;
cout << "请输入原方程组的阶数: ";
cin >> n;
cout << "请输入原方程组的增广矩阵: ";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> A[i][j];
}
cin >> b[i];
}
cout << "请输入初始迭代向量: ";
for (int i = 0; i < n; i++) {
cin >> x[i];
}
cout << "请输入误差上限: ";
cin >> e;
while (true){
int flag = 0;
for (int i = 0; i < n; i++) {
double temp = x[i];
x[i]=0;
for (int j = 0; j < n; j++) {
if (j!=i)
x[i]+= -A[i][j]*x[j];
}
x[i] = (x[i]+b[i])/A[i][i];
if (fabs(x[i]-temp) < e)
flag++;
}
if (flag==n)
break;
}
for (int i = 0; i < n; i++) {
cout << x[i] << " ";
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)