• 二维数组的鞍点


    1181 二维数组的鞍点

    题目描述

    找出一个2维数组矩阵的鞍点,即该位置上的元素在该行中最大,在该列中最小,可能不存在鞍点,如果存在多个,输出最小的那个!

    输入描述

    /*
    输入 n,m表示二维矩阵的行数和列数,然后根据行列数输入n*m个数据构成一个二维矩阵。。
    */
    4 5
    1 2 3 4 5
    2 4 6 8 10
    3 6 9 12 15
    4 8 12 16 20
    

    输出描述

    /*
    如果存在鞍点,则输出该鞍点的值,如果不存在则输出not exist。
    */
    5
    
    #include<stdio.h>
    #include<string.h>
    #define N 100
    #define M 100
    void matirxpoint(int a[N][M],int n,int m){
        int counts=0;
        int i,j;
        int rowmax,columnmin;
        int s=0;
        int k=0;
        int b[M]={0};
        for(i=0;i<n;i++){
            rowmax = a[i][0];
            for(j=0;j<m;j++)
                if(a[i][j]>rowmax)
                    rowmax = a[i][j];
            s=0;
            for(j=0;j<m;j++)
                if(a[i][j]==rowmax){
                    b[s] = j;
                    s++;
                }
    
            columnmin = rowmax;
            for(j=0;j<s;j++){
                for(k=0;k<n;k++)
                    if(columnmin >a[k][b[j]])
                        break;
                if(k==n){
                    printf("%d
    ",a[i][b[j]]);
                    counts++;
                }
            }
        }
        if(counts==0)
            printf("not exist
    ");
    }
    
    int main(){
        int a[N][M]={0};
        int i,j;
        int n,m;
        scanf("%d %d",&n,&m);
        for(i=0;i<n;i++)
            for(j=0;j<m;j++){
            scanf("%d",&a[i][j]);
        }
        matirxpoint(a,n,m);
    }
    
  • 相关阅读:
    信息反馈--冲刺12
    大道至简阅读笔记02
    信息反馈—冲刺11
    第十二周总结
    大道至简阅读笔记01
    小白学习站点
    校园服务第一阶段意见评论
    第十一周总结
    信息反馈--冲刺10
    信息反馈--冲刺09
  • 原文地址:https://www.cnblogs.com/lwp-nicol/p/14291828.html
Copyright © 2020-2023  润新知