今日正式用csdn博客记录,回顾我所学到的知识,分享一些我的人生感悟和自身经历。也希望未来通够过此平台和更多喜爱编程的人交流学习。

道听途说再加上自己的感悟,认为编程最重要的是思想,而不是语言本身,语言只是个工具。所以我们得先学思想。遇到问题,应该先想如果是自己去做会怎么处理,但我们不能一步到位,因为计算机并不会做一步到位,他最擅长的是迭代,所以我们要问题分解许多基本的步骤,然后一步一步去执行,其实我们人类也一样,遇到大的困难,我们不能慌,我们想办法将困难分解,一点一点的去解决困难,这样我们没解决一个小问题带来的成就感会鼓舞我们去解决下一个小问题,一个一个的小问题解决了,自然大的问题就迎刃而解了。所以现在我们将问题分解,在矩阵里面找一个元素,这个元素在该行上最大,在该列上最小。我们先找一行的最大值,然后找行最大值所在的列,最后找行最大值所在列有没有比它小的值,如果有就存在鞍点。

我们假设有n行m列

//用来判断行最大值所在的列的代码如下

for(j=0;j<m;j++)
        {
            if(a[i][j]>max)
            {
                max=a[i][j];
                maxj=j;
            }
        }

flag ture;

//确定列后用来和它所在的这一整列进行比较,这里设置了一个布尔变量。
        for(k=0;k<m;k++)
        {
            if(max>a[k][maxj])
            {
                flag=false;
                continue;
            }
        }

判断完这一行还没完事,我们需要判断完每一行。所以需要对上边的程序进行迭代,用一个for循环就可以实现了。以下是全部代码,亲测运行成功

#include<iostream>
using namespace std;
int main()
{const int n=4,m=5;int i,j,k,a[n][m],max,maxj;bool flag;for(i=0;i<n;i++)for(j=0;j<m;j++)cin>>a[i][j];for(i=0;i<n;i++){max=a[i][0],maxj=0;for(j=0;j<m;j++){if(a[i][j]>max){max=a[i][j];maxj=j;}}flag=true;for(k=0;k<n;k++){if(max>a[k][maxj]){flag=false;continue;}}if(flag){cout<<"a["<<i<<"]["<<"["<<maxj<<"]="<<max<<endl;break;}}if(!flag)cout<<"it does not exist"<<endl;return 0;}

C++找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)相关推荐

  1. 找出一个二维数组中的鞍点

    找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小.也可能没有鞍点. 解题流程如下: 对每行进行遍历.先找到每行的最大值,然后再确定该最大值是否是所在列的最小值,若满足,则为鞍点,遍 ...

  2. (C语言)找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列上最小,也可能没有鞍点。存在则输出坐标;否则输出 -1.

    #include<stdio.h> /* 找出一个二维数组中的鞍点,即该位置上的元素在该行最大, 在该列上最小,也可能没有鞍点.存在则输出坐标:否则输出 -1. */ int main(v ...

  3. 习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点)。

    C++程序设计(第三版) 谭浩强 习题5.7 个人设计 习题 5.7 找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小(也可能没有鞍点). 代码块: #include <io ...

  4. 找出一个二维数组中的鞍点,即该位置上的元素在该行最大,在该列最小,也可能没有靶点

    找出一个二维师数组中的鞍点,即该位置上的元素在该行最大,在该列最小,也可能没有靶点 思路: 找出某行最大数,再判断此数是否是所在列最小 代码: #include<stdio.h> int ...

  5. matlab查找鞍点的位置,找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该...

    /* 二维数组中的鞍点,即该位置上的元素在该行上最大.在该列上最小.也可能没有鞍点 二维数组鞍点判断,要逐个要素进行确认,并用二维数组记录满足各要素时的坐标, 之后进行各性质重合对比来确定,也就是说, ...

  6. 找出一个二维数组中的鞍点,既该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。(C语言程序设计第五版 p166.8)

    一,条件:该行最大(只有一个) 该列最小(只有一个) 二,功能:输入一个任意二维数组,输出鞍点或者输出鞍点不存在 三,思路: 以2*2的数组为例 (1,1) (1,2)   (2,1)   (2,2) ...

  7. 找出一个二维数组中的鞍点,即该位置上的的元素,在该行上最大,该列上最小,也可能没有鞍点

    #include<stdio.h> int main() {int a[100][100];int i,j,n,m,p,s,k,max;scanf("%d %d",&a ...

  8. python求二维数组的鞍点_C语言程序,找出一个二维数组的鞍点。

    什么是鞍点????? 鞍点就是在一个二维数组中,某一个数在该行中最大,然而其在该列中又是最小的数,这样的数称为鞍点. 昨天突然在书上看到这样的一道题,就自己尝试着写了一个找出一个二维数组中的鞍点. 好 ...

  9. 求二维数组中的最大值和最小值C语言,c语言 写一个子函数要求找出一个二维数组的最大值...

    并且返回两个维 求助 想不出来怎么写 题主的问题问的不够清楚.我假设你说的二维数组里面保存是整数,问的是找到二维数组中的最大值,并且返回一个最大值的位置.函数内部两个for循环遍历数组,能找到最大值和 ...

最新文章

  1. elastic的gc相关
  2. SD-WAN — 云专线(企业入云)
  3. 如何编程实现一个基本的微分器
  4. linux 内核参数 杨,Linux 内核参数
  5. c语言设计成行考核答案,20秋广东开放大学C语言程序设计成性考核参考答案(10页)-原创力文档...
  6. Spring MVC –揭秘了@RequestBody和@ResponseBody
  7. android webview权限申请_Android应用开发之android 6.0下webview的定位权限设置方法
  8. 693. Binary Number with Alternating Bits -LeetCode
  9. 软件测试技术体系-专业术语
  10. Java使用lowagie根据模版动态生成PDF(无需额外设置系统字体)
  11. SpringBoot 简易拦截器实现
  12. ap6212中串口蓝牙在linux下的使用记录
  13. 秋天视频批量生成GIF V1.32
  14. 普加计划甘特图功能介绍
  15. XP计算机管理员不见了,winxp系统中超级管理员账户消失了如何解决
  16. 【今日CV 计算机视觉论文速览 第138期】Mon, 1 Jul 2019
  17. 强化学习 V.S. 自然语言处理,计算机保研er应该选哪个?
  18. 数据结构—— 构造散列函数的六种方法【直接定址法-数字分析法-平方取中法-折叠法-除留余数法-随机数法】
  19. Java计算文件的hash值
  20. MySQL中聚合函数count的使用和性能优化

热门文章

  1. imperial college rejection
  2. fancy approach for making your code listed used for short essays, no need for listing in outline
  3. canvas的特别棒的feature:badge!!!
  4. UNITY 手游(安卓)如何使用C/C++代码
  5. springmvc拦截器无法拦截jsp
  6. Java虚拟机9:Java类加载机制
  7. 不要在覆写的方法中用super
  8. NYOJ 16(矩形嵌套)
  9. 解决ExcuteFile执行命令时出现“无效字符”的问题
  10. HDU 1175 连连看(BFS)