zoukankan      html  css  js  c++  java
  • 2018-03-05 计算鞍点

    题目:计算鞍点

    描述

    给定一个5*5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。
    鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。
    例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8 )。
    11 3 5 6 9
    12 4 7 8 10
    10 5 6 9 11
    8 6 4 7 2
    15 10 11 20 25

    输入输入包含一个5行5列的矩阵输出如果存在鞍点,输出鞍点所在的行、列及其值,如果不存在,输出"not found"

    思路:定义两个函数,分别表示某个点是否在那一行为最大,在那一列为最小,如果满足条件就“return 0;”

    代码如下:

    #include <iostream>
    #include <cstdio>
    #include <cstring> using namespace std; int a[6][6]; int hd(int i,int j)//查看是否在当前行为最大 { int max=-214748364;//定义一个指针指向当前行的最大值 for(int k=1;k<=5;k++) if(a[i][k]>max) max=a[i][k]; if(max!=a[i][j]) return 0; return 1; } int lx(int i,int j)//查看是否在当前列为最小 { int min=214748364;//
    定义一个指针指向当前列的最小值

    for(int k=1;k<=5;k++)

    if(a[k][j]<min)
         min=a[k][j]; 
    if(min==a[i][j])
    return 1;
    return 0;
    }
    int main()
    {
    for(int i=1;i<=5;i++)
    for(int j=1;j<=5;j++)
    cin>>a[i][j];
    for(int i=1;i<=5;i++)
    for(int j=1;j<=5;j++)
    if(hd(i,j)&&lx(i,j))//满足情况则"return 0"
    {
    cout<<i<<" "<<j<<" "<<a[i][j];
    return 0;
    }
    cout<<"not found";//没找到
    return 0;
    }
    谢谢观看!
  • 相关阅读:
    git学习总结
    vsftpd.conf配置详解
    网卡NAT方式下虚拟机安装FTP服务
    CentOS中vsftpd的主动和被动方式
    PHP面试总结
    虚拟机桥接网络连接方式
    虚拟机搭建ftp环境
    HTML5 WebSocket
    html5 postMessage解决跨域、跨窗口消息传递
    jqury-validate表单验证
  • 原文地址:https://www.cnblogs.com/jr-ag/p/8511942.html
Copyright © 2011-2022 走看看