正文

test2005-09-24 12:18:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/elva6401/5205.html

分享到:

#include <iostream.h>#define DIM 200#include <stdio.h>#include <stdlib.h>#include <math.h>#ifndef EPSILON#define EPSILON 0.000000001#endifint gelim( int process, double A[DIM][DIM], double xx[DIM] ){int k,i,j;if( process == 1 ) printf("The process of elimination\n");/* elimination step */for(k=0;k<DIM;k++)  {  if( fabs(A[k][k]) < EPSILON ) return(1);  for(i=k+1;i<DIM;i++)    {    A[i][k]=A[i][k]/A[k][k];    for(j=k+1;j<DIM;j++) A[i][j]=A[i][j]-A[i][k]*A[k][j];    xx[i]=xx[i]-A[i][k]*xx[k];    }  if(process == 1 )    {    for(i=0;i<DIM;i++)      {      for(j=0;j<DIM;j++) printf("%10.6f",A[i][j]);      printf("   | %10.6f\n",xx[i]);      }    printf("\n");    }  }/* backward step */xx[DIM-1]=xx[DIM-1]/A[DIM-1][DIM-1];for(i=DIM-2;i>=0;i--)   {   for(j=i+1;j<DIM;j++) xx[i]=xx[i]-A[i][j]*xx[j];   xx[i]=xx[i]/A[i][i];   }return(0);}int main(){ float a[4][3]={0,2,1,3,1,0,1,3,2,1,5,0}; float b[4]={40,100,100,80}; gelim(0,a,b); for(i=0;i<4;i++)  cout<<b[i]<<endl;}

阅读(2474) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册