• 鞍点问题


    鞍点
    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;
    }
    
  • 相关阅读:
    OPENGL ES2.0如何不使用glActiveTexture而显示多个图片
    OpenGL帧缓存对象(FBO:Frame Buffer Object)
    EGLImage与纹理
    Android下Opengl ES实现单屏幕双眼显示
    comet4j开发指南
    tmp
    Ubuntu16.04下编译android6.0源码
    ubuntu下配置安装conky
    Qt编程之QImage类小结
    Linux学习,在线版
  • 原文地址:https://www.cnblogs.com/zcy19990813/p/9702839.html
Copyright © 2020-2023  润新知