C语言计算二维数组鞍点.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言计算二维数组鞍点 【问题描述】 若矩阵An×m?中存在某个元素aij,若aij是第i行中最大值且是第j列中的最小值,则称该元素为矩阵A的一个鞍点。试编程,找出矩阵A中的所有鞍点(鞍点可能有多个,也可能没有鞍点)。 【基本思想】 在矩阵A中求出每一行的最大值元素,然后判断该元素是否是它所在列中的最大值。如果是则打印输出,接着处理下一行。 【源程序】 #includestdio.h #define N 3 #define M 3 void saddle(int a[][M],int n,int m) ? { ? ?int i,j,max,k,p,count=0; ? for (i=0;in;i++)?? //按行处理 ?? { ?????? max=a[i][0]; ?????? for(j=1;jm;j++) ????????? if(maxa[i][j]) ???????? ??????max=a[i][j];?? //找第i行最大值????????? ????? for (j=0;jm;j++) //检测最大值是否是鞍点 ?????? if(a[i][j]==max) ?????? { ? ? ? ? ?k=j; ???????? p=0; ???????? while(pn max=a[p][j]) ??????????? p++; ???????? if(p==n) ?????????? { ???????????? printf(鞍点为:a[%d][%d]=%d\n,i,k,max); ???????????? count++; ?????????? } ?????? } ???? } ???? if(count==0) ??????? printf(该矩阵无鞍点\n); } int main(void) { ?????? int i,j,a[N][M]; ?????? for(i=0;iN;i++) ?????? ? for(j=0;jM;j++) ?????? ???? scanf(%d,a[i][j]); ?????? saddle(a,N,M); ?????? return 0; } 【测试数据1】 【测试数据2】 【测试数据3】 【测试数据4】 【测试数据5】

文档评论(0)

企业管理 + 关注
实名认证
服务提供商

计算机三级持证人

从事多年企业管理、在团队建设、员工培训、营销提升、组织架构有多自己的经验,希望在这个平台分享及帮助更多的公司或企业!

领域认证该用户于2023年05月09日上传了计算机三级

1亿VIP精品文档

相关文档