计算机高级语言程序课程设计精选.docxVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机高级语言程序课程设计精选

计算机高级语言程序(C++)课程设计报告学院:信工学院____专业:测绘工程学号:姓名:指导老师:2015年12月20日实习题目一【需求规格说明】编写一个函数实现M行K列矩阵与K行N列矩阵的乘法。设A为M行K列矩阵,B为K行N列矩阵,则C=A×B,乘积C为M行N列矩阵。矩阵乘法的规则是:设A[m,k],B[k,n],则C[m,n]= A[m,k] ×B[k,n]。其中(见下述公式):例如:【算法设计】(1)设计思想:该矩阵的计算是通过a数组每一行的每一个数字分别与b数组每一列的每个数字对应相乘,所得结果累加得到c数组的目的结果。通过构建数组对所得结果进行表示和输出。(2)设计表示:调用函数fun被主函数调用。【调试报告】需要输入的数组长度不知,若使用平时的数组定义,那么会导致内存的浪费或者元素的表示不完整,这时就需要采取动态内存分配的方法,需要多少,分配多少。另外,对于多维数组,采用利用指针指向指针型数组的方法,而不是简单地定义指针指向整型数组,否则导致结果的输出有问题。【附录】#include stdafx.h#includeiostreamusing namespace std;typedefint* INTPTR; //类型定义一个int型指针void fun(intm,intn,int k){cout请输入数组a[M][K]endl; INTPTR*pp=new INTPTR [m]; //定义一个指向该int指针型数组动态内存空间的指针 for(int e=0;em;e++) { pp[e]=new int[k]; } for(inti=0;im;i++) { for(int j=0;jk;j++) {cinpp[i][j]; }coutendl;}cout请输入数组b[K][N]endl; //重复上述操作,定义数组b INTPTR*pp2=new INTPTR [k]; for(int f=0;fk;f++) { pp2[f]=new int[n]; } for(int i1=0;i1k;i1++) { for(int j1=0;j1n;j1++) {cinpp2[i1][j1]; }coutendl; }INTPTR*pp3=new INTPTR [m]; //重复上述操作,定义数组c for(int g=0;gm;g++) { pp3[g]=new int[n]; } for(int x=0;xm;x++) { for(int y=0;yn;y++) { int sum=0; for(int z=0;zk;z++) { pp3[x][y]=pp[x][z]*pp2[z][y]; sum+=pp3[x][y]; }coutsum ; }coutendl; }}int main(){int M,N,K;cout请输入a[M][K],b[K][N]的M,N,Kendl;cinMNK; fun(M,N,K); return 0;输入实习题目二【需求规格说明】请编写名称为fun的函数,并在主函数中调用该函数,完成以下功能:(1)根据以下公式计算S,计算结果作为函数值返回,n通过形参传入;S=1+1/(12+22)+1/(12+22+32)+……+1/(12+22+32+…+n2)(2)编写主函数代码,调用该函数,允许用户手动输入n。【算法设计】(1)设计思想:通过递归对(1^2+2^2+.....)进行计算,又对s同样以递归方式计算,最后通过主函数输出,即利用2次函数的调用。(2)设计表示:主函数(用于输出s结果)Fun函数(用于表示s结果)Diao函数(用于表示分母)【调试报告】由于分母表示的结果为整型,因此s结果累加的每一项结果都是0(整数相除结果还是整数),经过更正后,把1变为1.0,解决了这个问题。【附录】#include stdafx.h#include iostreamusing namespace std;unsigned diao(unsigned x) //对每项的分母构造函数进行递归{unsigned y;if(x==0){y=0;}else{y=diao(x-1)+x*x;}return y;}float fun(unsigned m) //对s进行递归{float s;if(m==0){s=0;}else {s=fun(m-1)+1.0/diao(m); //避免整数除以整数的结果为整数产生的错误}return s;}int main() //对s的结果进行输出{unsign

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档