欢迎来到天天文库
浏览记录
ID:35535105
大小:59.30 KB
页数:7页
时间:2019-03-25
《c课程设计高斯消元法求线性代数方程组的解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、河北工业大学计算机软件技术基础(VC)课程设计报告学院管理班级管理104班姓名学号101707成绩一、题目:求线性代数方程组的解(高斯消去法)(C13)二、设计思路1、总体设计1)分析程序的功能第一:编写输入程序,通过键盘先输入对应的已知量及函数的大小n和系数s[i]和得数b[i]o第二:编写中间程序,通过函数的调用先定义线性代数方程,然后通过程序求出方程的梯形矩阵系数,并最终得出结果。第三编写输出程序,输出最终结果。2)系统总体结构:设计程序的组成模块,简述各模块功能。模块一:各函数的具体内容A:三个输入函数,分别输入n,—维数组,二维数组。即输入己知量。B:屮间运
2、算函数,计算是使得方程系数所成的矩阵成梯形矩阵,未知数的结果。即计算中间变量及结果。C:最后输出函数,输出最后计算结果。模块二:各函数原型的声明a写头文件。b变量声明:存放输入数据的数组的声明,存放屮间变量的数组的声明,存放运算结果的数组的声明。分别存放对应数据。c输入有关操作的文字d函数调用,在运算屮自动调用对应的函数解决对应问题。模块三:主函数2、各功能模块的设计:说明各功能模块的实现方法模块一:各个函数的声明,直接声明。模块二:各函数都通过for循环来实现各个数组之I'可的基本运算。3、设计中的主要闲难及解决方案在这部分论述设计中遇到的主要休I难及解决方案。1)
3、困难1函数调用是怎么用?解决方案:仔细阅读课本,以及同学之间的讨论,和老师的帮助。returnm;/**解方程组,计算X*doubleb[]*doublex[]*inti*intn*return*doublea[][]系数矩阵右端项方稈组解解的序号矩阵大小方程组的第i个解*/doublegetx(doublea[N][N],doubleb[N],doublex[N],inti,intn)doubleresult;if(i==n-l)//计算最后一个x的值result=double(b[n-l]/a[n-l][n-1]);else//计算其他x值(对于公式中的求和部分,
4、需要调用getmO函数)resuIt二double((b[i]-gctm(a,x,i,n))/a[i][i]);returnresult;)voidmain(){//doublea[N][N]={{2},{1,3,2},{1,2,2}};//doubleb[N]={4,6,5};doublea[N][N];//系数矩阵doubleb[N];//右端项doublex[N];//方程组解inti,j,k;intn=N;//矩阵大小/*用户手工输入矩阵*/COUt«Z,请输入系数矩阵的大小cin>>n;cout«"请连续输入矩阵值:〃;for(i=0;i5、r(j=0;j6、-m*a[j][k];)b[i]=b[i]-m*b[j];ii/*显示处理后矩阵*/COUt«,Z高斯消去后矩阵『;for(i=0;i=0;i—){x[i]=getx(a,b,x,i,n);!/*显示方程组解*/cout«z,方程组解〃;for(i=0;i7、更完善的方案1、对自己完成程序进行自我评价。设计过程中遇到很多问题,但经过和同学讨论,以及老师的解答和查阅资料加上我的努力最终写出了程序。五'收获及心得体会1、通过本次课程设计,自己在哪些方面的能力有所提高。通过对该程序的编写,使我对数组,for循环以及函数的调用有了深刻的认识,锻炼了自己对C++更深一步的了解。2、收获和心得体会。明确的知道了数组,for循环以及函数的调用有的运用。明白了编程是一种严谨的工作,锻炼了自己的思维能力,并将努力培养自己严谨的思维。日期:2011年6月23日
5、r(j=0;j6、-m*a[j][k];)b[i]=b[i]-m*b[j];ii/*显示处理后矩阵*/COUt«,Z高斯消去后矩阵『;for(i=0;i=0;i—){x[i]=getx(a,b,x,i,n);!/*显示方程组解*/cout«z,方程组解〃;for(i=0;i7、更完善的方案1、对自己完成程序进行自我评价。设计过程中遇到很多问题,但经过和同学讨论,以及老师的解答和查阅资料加上我的努力最终写出了程序。五'收获及心得体会1、通过本次课程设计,自己在哪些方面的能力有所提高。通过对该程序的编写,使我对数组,for循环以及函数的调用有了深刻的认识,锻炼了自己对C++更深一步的了解。2、收获和心得体会。明确的知道了数组,for循环以及函数的调用有的运用。明白了编程是一种严谨的工作,锻炼了自己的思维能力,并将努力培养自己严谨的思维。日期:2011年6月23日
6、-m*a[j][k];)b[i]=b[i]-m*b[j];ii/*显示处理后矩阵*/COUt«,Z高斯消去后矩阵『;for(i=0;i=0;i—){x[i]=getx(a,b,x,i,n);!/*显示方程组解*/cout«z,方程组解〃;for(i=0;i7、更完善的方案1、对自己完成程序进行自我评价。设计过程中遇到很多问题,但经过和同学讨论,以及老师的解答和查阅资料加上我的努力最终写出了程序。五'收获及心得体会1、通过本次课程设计,自己在哪些方面的能力有所提高。通过对该程序的编写,使我对数组,for循环以及函数的调用有了深刻的认识,锻炼了自己对C++更深一步的了解。2、收获和心得体会。明确的知道了数组,for循环以及函数的调用有的运用。明白了编程是一种严谨的工作,锻炼了自己的思维能力,并将努力培养自己严谨的思维。日期:2011年6月23日
7、更完善的方案1、对自己完成程序进行自我评价。设计过程中遇到很多问题,但经过和同学讨论,以及老师的解答和查阅资料加上我的努力最终写出了程序。五'收获及心得体会1、通过本次课程设计,自己在哪些方面的能力有所提高。通过对该程序的编写,使我对数组,for循环以及函数的调用有了深刻的认识,锻炼了自己对C++更深一步的了解。2、收获和心得体会。明确的知道了数组,for循环以及函数的调用有的运用。明白了编程是一种严谨的工作,锻炼了自己的思维能力,并将努力培养自己严谨的思维。日期:2011年6月23日
此文档下载收益归作者所有