n维线性方程组的求解程序

n维线性方程组的求解程序

ID:40561345

大小:54.50 KB

页数:7页

时间:2019-08-04

n维线性方程组的求解程序_第1页
n维线性方程组的求解程序_第2页
n维线性方程组的求解程序_第3页
n维线性方程组的求解程序_第4页
n维线性方程组的求解程序_第5页
资源描述:

《n维线性方程组的求解程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言程序设计课程设计总结报告设计题目:n维线性方程组的求解程序。姓名:朱战威学号:111411249同组人员:谢忠建闫俊宇卿帅军尚亚军指导教师:张芳芳、王康平、薛冰2012年6月21日一.设计题目生物工程系《C语言程序设计》n维线性方程组的求解二.设计时间及地点设计时间:6月21日设计地点:3#A506三、题目内容要求能正确的求解n维线性方程的答案四、设计部分:1.掌握C语言程序设计的基本思想.概念.方法和技能;2.初步学会利用c语言编制一些程序以解决一般实际应用问题;3.培养学生分析问题和解决问题的能力;五.设计部分设计程序的主要步骤:1.了解n维线性方程的求解步骤,可根据高斯

2、消元法进行运算。2.按消元规则进行运算后,再进行元素回代3.矩阵在c语言中可用二维数组表示4.循环使用for语句表示此程序运用高斯消元法:(1)按消元规则进行运算后,对角线以下元素为0,故运算中对角线以下的元素不作计算。(2)对角线下的元素回代无影响,将乘数放在该处。既   a[i][k]=a[i][k]/a[k][k],i=k+1,k+2,...,n;(3)对角线以上的元素和常数项采用“原地”工作方式,既经变换后的元素仍放在原来的位置上a[i][j]=a[i][j]-a[i][k]*a[k][j];       b[i]=b[i]-a[i][k]*b[k];       i,j=

3、k+1,k+2,...,n; 目的是为了节省存储单元(4)回代后的值仍放在常数项存储单元    b[n]=b[n]/a[n][n];    b[i]-=a[i][j]*b[j];    b[i]=(1/a[i][i])*b[i]; 这样,数组b中单元存放的就是未知数的解。   ****************************************************************#includeusingnamespacestd;voidmain(){ inti=0,j=0,k,n,sum=0; cout<<"输入未知数个数:"; cin

4、>>n;                             //输入线性方程未知数的个数 double**a=newdouble*[n+1];  //分配存储系数矩阵的二维数组(动态分配) for(i=0;i<=n;i++) {  a[i]=newdouble[n+1]; } double*b=newdouble[n+1];        //分配存储方程组右侧常数项的一维数组 cout<<"输入线性方程的系数矩的每一行和等号右侧结果:"<>a[i][j];     

5、          //输入系数矩阵的元素,没有的项输入0  }  cin>>b[i];      //输入方程组每个等式的等号右边的常数项 } k=1; while(1) {  for(i=k+1;i<=n;i++)  {   a[i][k]=a[i][k]/a[k][k]; //对角线下的元素回代无影响,将乘数放在该处。  }  for(i=k+1;i<=n;i++)  {   for(j=k+1;j<=n;j++)   {    a[i][j]=a[i][j]-a[i][k]*a[k][j];//对角线以上的元素和常数项采用“原地”工作方式,既经变换后的元素仍放在原来的位置上

6、   }   b[i]=b[i]-a[i][k]*b[k];    }  if(k!=(n-1)) k++;  elsebreak; } b[n]=b[n]/a[n][n]; for(i=n-1;i>=1;i--) {  for(j=i+1;j<=n;j++)  {   b[i]-=a[i][j]*b[j];  }  b[i]=(1/a[i][i])*b[i]; //回代后的值仍放在常数项存储单元  sum=0; } for(i=1;i<=n;i++) {  cout<<"x"<

7、]a[i]; } delete[]a; delete[]b;}六.程序代码#includeusingnamespacestd;voidmain(){inti=0,j=0,k,n,sum=0;cout<<"输入未知数个数:";cin>>n;double**a=newdouble*[n+1];for(i=0;i<=n;i++){a[i]=newdouble[n+1];}double*b=newdouble[n+1];cout<<"输入线性方程的系数矩的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。