网站大量收购闲置独家精品文档,联系QQ:2885784924

鞍点问题实验报告.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
鞍点问题实验报告

深 圳 大 学 实 验 报 告 课程名称: C++程序设计 实验项目名称: 求二维数组中的鞍点 学院: 计算机与软件学院 专业: 指导教师: 张小健 报告人:邓清津 学号: 2011150146 班级: 03 实验时间: 2011-12-2 实验报告提交时间: 2011-12-7 教务部制 实验目的:①熟悉for语句和多重循环。 ②熟悉二维数组。 ③熟悉最大最小值的判定。 实验要求: 熟悉VC语言 伪代码: /*找出一个二位数组中的鞍点,即该位置上的元素在该行上最大, 在该列上最小,也可能没有鞍点*/ 定义一个二维数组矩阵,为N=4行,M=5列 #define M 4 #define N 5 手动输入4行5列的矩阵int a[N][M]= { {},{},{},{}, }; 在初值i=0,条件iM=4,i=i+1逐渐递增,即for(i=0;iN;i++)为大循环。 找到第i行第0列中的最大数定义为k=a[i][0]。列逐级递增j=j+1,若递增过程中有a[i][j] k,则k = a[i][j];p = j; t = a[0][p];int l;lM; 行逐级递增l=l+1,若递增过程中有a[l][p] t, 则t = a[l][p]; if(k == t) 则输出鞍点printf(a[%d][%d]=%d\n,i,p,k); 源程序: #include stdio.h #define M 4 #define N 5 void main() { int i,j; int k,t,p,l; int a[M][N] = { {1,2,3,6,7},{0,1,2,5,0},{4,5,5,6,8}, {3,0,0,7,9} }; printf(数组a :\n); for(i = 0;i M;i++) { for(j = 0;j N;j++) printf(%4d,a[i][j]); printf(\n); } for( i = 0;i M;i++) { k = a[i][0]; for(j = 0; j N;j++) { if(a[i][j] k) { k = a[i][j]; p = j; } } t = a[0][p]; for(l = 0;l M;l++) if(a[l][p] t) t = a[l][p]; if(k == t) printf(a[%d][%d]=%d\n,i,p,k); } } 样本输入与对应的输出: ①输入{1,2,3,6,7}, {0,1,2,5,0}, {4,5,5,6,8}, {3,0,0,7,9} 输出 ②输入{5,0,3,6,7}, {0,5,2,5,8}, {4,5,9,6,8}, {3,2,1,7,9} 输出 ③输入{5,0,3,6,0}, {0,5,2,5,8}, {4,5,9,6,8}, {3,2,1,7,9} 输出 ④输入{1,1,1,1,1}, {0,1,1,1,1}, {0,0,1,1,1}, {0,0,0,1,1} 输出 ⑤输入{1,5,1,1,1}, {0,1,0,0,0}, {0,7,1,1,1}, {0,9,0,1,1} 输出 实验心得: 通过学习二维数组的使用编辑寻找二维数组中的鞍点程序,熟悉了对for循环的认识和变量代换,对C++又增长了一定的熟练度,希望通过多加练习之后能够大致掌握一些简单的程序编辑。 指导教师批阅意见: 成绩评定: 指导教师

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档