/*
方程组维数 :3
控制精度 :0.000001
增广矩阵第1行(空格隔开):3 4 -6 12
增广矩阵第2行(空格隔开):1 -2 1 -3
增广矩阵第3行(空格隔开):3 2 -1 11
整理完毕,此时方程组为 :
1 1.33333 -2 4
0 1 -0.9 2.1
0 0 1 1
方程的解为 :
2 3 1
Press any key to continue
*/
#include
#include
#define N 100
int main() {
\x05int n,k,i,j,m;
\x05double A[N][N + 1],eps,temp;
\x05cout <
\x05cin >> n;
\x05cout <
\x05cin >> eps;
\x05for(i = 0;i
\x05\x05cout <
\x05\x05for(j = 0;j > A[i][j];
\x05}
\x05for(k = 0; k
\x05\x05m = k;
\x05\x05for(i = k + 1; i
\x05\x05\x05if(fabs(A[i][k]) > fabs(A[m][k]))
\x05\x05\x05\x05m = i;
\x05\x05}
\x05\x05if(fabs(A[m][k]) <= eps) return 0;
\x05\x05if(m != k) {
\x05\x05\x05for(i = k;i
\x05\x05\x05\x05temp = A[k][i];
\x05\x05\x05\x05A[k][i] = A[m][i];
\x05\x05\x05\x05A[m][i] = temp;
\x05\x05\x05}
\x05\x05}
\x05\x05temp = A[k][k];
\x05\x05for(i = k; i
\x05\x05for(i = k + 1;i
\x05\x05\x05temp = A[i][k];
\x05\x05\x05for(j = k; j
\x05\x05\x05\x05A[i][j] -= A[k][j] * temp;
\x05\x05\x05}
\x05\x05}
\x05}
\x05cout <
\x05for(i = 0;i
\x05\x05for(j = 0;j
\x05\x05\x05cout <
\x05\x05cout <
\x05}
\x05for(i = n - 2;i >= 0;i--) {
\x05\x05for(j = i + 1;j
\x05\x05\x05A[i][n] -= A[i][j] * A[j][n];
\x05}
\x05cout <
\x05for(i = 0; i
\x05cout <
\x05return 0;
}