zoukankan      html  css  js  c++  java
  • 鞍点问题

    鞍点
    Description
    找出具有m行n列二维数组Array的“鞍点”,即该位置上的元素在该行上最大,在该列上最小,其中1<=m,n<=10。
    Input
    输入数据有多行,第一行有两个数m和n,下面有m行,每行有n个数。

    Output

    按下列格式输出鞍点: Array[i][j]=x 其中x代表鞍点,i和j为鞍点所在的数组行和列下标,我们规定数组下标从0开始。 一个二维数组并不一定存在鞍点,此时请输出None。 我们保证不会出现两个鞍点的情况,比如:

    3 3
    1 2 3
    1 2 3
    3 6 8


    Sample Input

    3 3
    1 2 3
    4 5 6
    7 8 9

    Sample Output

    Array[0][2]=3
    #include <stdio.h>
    int main()
    {
        int a[11][11],i,j,l=0,k,m,n,max=0,min=0;
        scanf("%d%d",&m,&n);
        for(i=0;i<m;i++)
            for(j=0;j<n;j++)
              scanf("%d",&a[i][j]);
        max=min=a[0][0];
        for(i=0;i<m;i++)
        {
            k=i;max=a[i][0];
            for(j=0;j<n;j++)
                if(max<a[i][j])
                    max=a[i][j];
            for(j=0;j<n;j++)
            {
                min=a[i][j];
                for(i=0;i<m;i++)
                    if(a[i][j]<min)
                    min=a[i][j];
                i=k;
                if(max==min)
                {
                    printf("Array[%d][%d]=%d",i,j,a[i][j]);
                    l++;
                }
            }
        }
        if(l==0)
            printf("None
    ");
        return 0;
    }


    2.
    如果矩阵A中存在这样的一个元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。请编程计算出m*n的矩阵A的所有马鞍点。
    Input
    输入m,n
    然后输入数组中的每个元素
    Output
    输出m*n的矩阵A的所有马鞍点
    Sample Input

    3 3
    1  7  3
    5  4  6
    17 18 9


    Sample Output
    9

     

    #include <stdio.h>
    int main()
    {
        int a[11][11],i,j,k,max,min,l=0,m,n;
        scanf("%d%d",&m,&n);
        for(i=0;i<m;i++)
            for(j=0;j<n;j++)
               scanf("%d",&a[i][j]);
        max=min=a[0][0];
        for(i=0;i<m;i++)
        {
            k=i;
            min=a[i][0];
            for(j=0;j<n;j++)
                if(min>a[i][j])
                   min=a[i][j];
            for(j=0;j<n;j++)
            {
                max=a[i][j];
                for(i=0;i<m;i++)
                    if(a[i][j]>max)
                        max=a[i][j];
                i=k;
                if(max==min)
                    printf("%d",a[i][j]);
            }
        }
        return 0;
    }
    
  • 相关阅读:
    Asp.Net Core 进阶(一) —— 读取appsettings.json
    chrome控制台模拟hover、focus、active等状态,方便调试
    windows server 注意windows的temp目录
    (转)大公司里怎样开发和部署前端代码?
    排序算法——二分插入排序
    排序算法——归并排序
    排序算法——冒泡排序
    排序算法——插入排序
    排序算法——快速排序
    linux安装和配置 mysql、redis 过程中遇到的问题记录
  • 原文地址:https://www.cnblogs.com/zcy19990813/p/9702839.html
Copyright © 2011-2022 走看看