您好,欢迎访问三七文档
#includeiostream#includemath.husingnamespacestd;intmain(){intn,i,j,l,k,t,s,k1,k2;floatp;cout请输入方程个数nendl;cinn;floatA[n][n+1],X[n],Y[n];cout将方程组用增广矩阵A表示,请按行依次输入矩阵Aendl;for(i=0;in;i++)for(j=0;j=n;j++)cinA[i][j];for(i=0;in;i++)Y[i]=i;for(i=0;in-1;i++){k1=i;k2=i;for(l=i;ln;l++){for(j=i;jn;j++)if(fabs(A[l][j])fabs(A[k1][k2]))k1=l,k2=j;}//if(A[k][i]==0)break;if(k1!=i)for(j=0;j=n;j++){p=A[i][j];A[i][j]=A[k1][j];A[k1][j]=p;}if(k2!=i){p=Y[i];Y[i]=Y[k2];Y[k2]=p;for(j=0;jn;j++){p=A[j][i];A[j][i]=A[j][k2];A[j][k2]=p;}}for(t=i+1;tn;t++){p=A[t][i]/A[i][i];for(s=i;s=n;s++)A[t][s]=A[t][s]-p*A[i][s];}}for(i=n-1;i=0;i--){for(j=n-1;j=i+1;j--){A[i][n]=A[i][n]-A[i][j]*X[j];}X[j]=A[i][n]/A[i][i];}cout方程组的解是:endl;for(i=0;in;i++)coutX[Y[i]+1]=X[i]endl;return0;}
本文标题:全主元高斯消去法
链接地址:https://www.777doc.com/doc-5674740 .html