资源描述:
《C++求线性代数方程组的解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、编号:13号河北工业大学计算机软件技术基础(VC)课程设计报告学院电气工程学院班级电气c102姓名刘云飞__学号__105986__成绩______一、题目:求线性代数方程组的解(高斯消去法)二、设计思路1、总体设计1)分析程序的功能通过高斯消去法求线性代数方程组的解2)系统总体结构:设计程序的组成模块,简述各模块功能。1.方程组的系数矩阵和常数矩阵的输入函数2.高斯消去法的算法函数(包括消元和回带)3.输出方程组的解函数2、各功能模块的设计:说明各功能模块的实现方法1.执行主函数调用输入函数,输入系数矩阵和常数矩阵2.输入后主函数调用算法矩阵进行验证解情况和消元3.消元后主函数调
2、用回带函数计算方程组的解4.计算后主函数调用输出函数输出方程组的解3、设计中的主要困难及解决方案在这部分论述设计中遇到的主要困难及解决方案。1)困难1实现消元的函数处理解决方案通过依次进行的各行消元实现方程组的简化2)困难2方程无解的情况解决方案检查方程组第k到第n行方程中的第k列上的元素是否为0,如是则方程组无解或得不到唯一解4、你所设计的程序最终完成的功能1)说明你编制的程序能完成的功能解决求解中小规模线性方程组(阶数不要太高,例如不超过1000)的问题2)准备的测试数据及运行结果测试数据1:方程有解的情况第6页/共6页编号:13号测试数据2:方程无解的情况三、程序清单新的高斯
3、消去法.cpp#include第6页/共6页编号:13号#includeconstints=100;voidshuru(doublea[s][s],doubleb[s],intn);//函数输入原型声明voidxiaoyuan(doublea[s][s],doubleb[s],intn);//函数消元原型声明voidhuidai(doublea[s][s],doubleb[s],doublex[s],intn);//函数回带原型声明voidshuchu(doublex[s],intn,doublea[s][s]);//函数输出原型声明void
4、main()//主函数的定义{doublea[s][s],b[s],x[s];//变量数组的定义intn;cout<<"输入方程组的阶数:";cin>>n;shuru(a,b,n);//调用函数输入xiaoyuan(a,b,n);//调用函数消元huidai(a,b,x,n);//调用函数回带shuchu(x,n,a);//调用函数输出}voidshuru(doublea[s][s],doubleb[s],intn)//函数输入的定义{inti,j;cout<<"输入系数矩阵:";i=0;while(i>a[i][j];//输入
5、矩阵到系数矩阵j++;}第6页/共6页编号:13号i++;}cout<<"输入常数矩阵:";i=0;while(i>b[i];//输入矩阵到常数矩阵i++;}}voidxiaoyuan(doublea[s][s],doubleb[s],intn)//函数消元的定义{inti,j,l;doublep,q,max;for(l=0;l6、i7、p;inti,j;x[n-1]=b[n-1]/a[n-1][n-1];i=n-2;while(i>=0){p=0;j=i+1;while(j