C语言练习二 :找出一个二维数组的鞍点
1、鞍点的定义:某个元素在其所在行中最大、所在列中最小。
2、程序代码
//求一个二维数组的鞍点 二维数组可能没有鞍点,如果有,只能有一个
#include<stdio.h>
int main()
{int i,j,m,n,max,maxj; //定义 printf("请输入二维数组的:行 列\n"); //确定二维数组的行列 scanf("%d%d",&m,&n);int a[m][n];printf("请输入一个%d*%d的二维数组:\n",m,n);for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]); //键盘输入值存入数组元素地址 for(i=0;i<m;i++){max=a[i][0]; //假设行元素第一个为本行最大值 maxj=0; //行元素最大值的列下标 for(j=1;j<n;j++) {if(max<a[i][j]){ max=a[i][j]; //找出行最大 并标记最大值的列下标 maxj=j;}}for(j=0;j<m;j++){if(max>a[k][maxj]) //验证其值在所在列中最小 break; }if(j>=m){ printf("二维数组的鞍点为:a[%d][%d]=%d\n",i,maxj,max);break; } }if(i>=m)printf("此二维数组没有鞍点。\n");//如果遍历所有行都不符合则没有鞍点 return 0;
}//总结:因为一个二维数组有且只有一个鞍点,所以可根据定义先找出行最大并标记列下标,
//再验证其值是所在列最小,若不满足提前break跳出,若满足则输出鞍点,并加break提前跳出循环防止鞍点是最后一行元素的情况
//自然循环跳出和break跳出的循环变量的值不同作为一个判定条件
3、运行示例
C语言练习二 :找出一个二维数组的鞍点相关推荐
- python求二维数组的鞍点_C语言程序,找出一个二维数组的鞍点。
什么是鞍点????? 鞍点就是在一个二维数组中,某一个数在该行中最大,然而其在该列中又是最小的数,这样的数称为鞍点. 昨天突然在书上看到这样的一道题,就自己尝试着写了一个找出一个二维数组中的鞍点. 好 ...
- (C语言)找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小,也可能没有鞍点。存在则输出坐标;否则输出 -1.
#include<stdio.h> /* 找出一个二维数组中的鞍点,即该位置上的元素在该行最大, 在该列上最小,也可能没有鞍点.存在则输出坐标:否则输出 -1. */ int main(v ...
- 找出一个二维数组中的鞍点
找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. 解题流程如下: 对每行进行遍历.先找到每行的最大值,然后再确定该最大值是否是所在列的最小值,若满足,则为鞍点,遍 ...
- 找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列最小,也可能没有靶点
找出一个二维师数组中的鞍点,即该位置上的元素在该行最大,在该列最小,也可能没有靶点 思路: 找出某行最大数,再判断此数是否是所在列最小 代码: #include<stdio.h> int ...
- 习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)。
C++程序设计(第三版) 谭浩强 习题5.7 个人设计 习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点). 代码块: #include <io ...
- matlab查找鞍点的位置,找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该...
/* 二维数组中的鞍点,即该位置上的元素在该行上最大.在该列上最小.也可能没有鞍点 二维数组鞍点判断,要逐个要素进行确认,并用二维数组记录满足各要素时的坐标, 之后进行各性质重合对比来确定,也就是说, ...
- 求二维数组中的最大值和最小值C语言,c语言 写一个子函数要求找出一个二维数组的最大值...
并且返回两个维 求助 想不出来怎么写 题主的问题问的不够清楚.我假设你说的二维数组里面保存是整数,问的是找到二维数组中的最大值,并且返回一个最大值的位置.函数内部两个for循环遍历数组,能找到最大值和 ...
- 找出一个二维数组中的鞍点,既该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。(C语言程序设计第五版 p166.8)
一,条件:该行最大(只有一个) 该列最小(只有一个) 二,功能:输入一个任意二维数组,输出鞍点或者输出鞍点不存在 三,思路: 以2*2的数组为例 (1,1) (1,2) (2,1) (2,2) ...
- C++找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)
今日正式用csdn博客记录,回顾我所学到的知识,分享一些我的人生感悟和自身经历.也希望未来通够过此平台和更多喜爱编程的人交流学习. 道听途说再加上自己的感悟,认为编程最重要的是思想,而不是语言本身,语 ...
最新文章
- while(scanf(%d,n)!=EOF)
- IOS UIView 放大缩小
- 标记页面区分渠道php,PM必懂的前端知识
- 为什么 头条 宇宙条_“当宇宙行遭遇黑洞……“【59期省联社微信传播力榜单】...
- 剑指 Offer 05. 替换空格(两种做法)
- java实现可选形参_Java:可选的可选实现
- 83. 删除排序链表中的重复元素
- 正则表达式:日期格式的校验(日期+时间)
- java并发(3)ThreadLocal的使用及实现原理(实现原理)
- maven的基本命令
- 深度学习pytorch基础入门教程(1小时)-自动梯度
- 数据--第39课 - 二叉树课后练习
- 基础都掌握了却还是敲不出代码?编程新手如何快速提升coding能力?
- java学习之道 --- 如何学习java?
- 生信分析是个什么玩意儿?
- Excel在行上输入连续序号的3种方法的操作比较
- 利用python爬取京东平台评论及图片并进行分析
- Pikachu漏洞练习平台----验证码绕过(on server) 的深层次理解
- vs2015 x86的Qt项目迁移到vs2017 x64平台
- 如何理解GPU中的SIMT(单指令流多线程模型)
热门文章
- 家用投影机预埋布线图_投影仪布线安装技巧 再也不用看安装示意图了
- unresolved external symbol __imp__timeGetTime@0
- 一起来看流星雨剧情简介/剧情介绍/剧情分集介绍第十九集
- Linux下目录的作用
- 在YARN上使用Flink有3种模式:Per-Job模式、Session模式和Application模式-1。job的轻巧提交设置
- 微信支付 生成付款二维码链接 并生成支付二维码图片 .net C#
- VS中调用工业相机Basler
- MATLAB程序设计与应用(第三版)刘卫国 答案(一)
- C语言的冒泡排序优化及鸡尾酒排序问题分解知识点
- 计算机语言学 pdf,语言学必读书目PDF版.doc