当前位置:编程学习 > C/C++ >>

问题一百四十:鞍点

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

 

 


[plain]  #include <stdio.h> 
 
int main() 

      int i; 
      int j; 
      int l; 
      int x; 
      int y; 
      int k; 
      int n; 
      int m; 
      int flag; 
      int num[10][10]; 
 
      while(scanf("%d %d", &n, &m)!=EOF) 
      { 
          for(i=0; i<n; i++) 
          { 
               for(j=0; j<m; j++) 
               { 
                   scanf("%d", &num[i][j]); 
               } 
          } 
           
          flag=0; 
          x=0; 
          y=0; 
          for(i=0; i<n; i++) 
          { 
 
             for(j=0; j<m; j++) 
             {   
                 if(j==0) 
                 { 
                     k=num[i][j]; 
                 } 
                 
                if(k<num[i][j]) 
                { 
                   k=num[i][j]; 
                   x=i; 
                   y=j; 
                } 
             } 
 
             for(l=0; l<n; l++) 
             { 
                  if(k<=num[l][y]) 
                  { 
                    flag=1; 
                  } 
                  else 
                  { 
                     flag=0; 
                      break; 
                  } 
             } 
 
             if(flag) 
             { 
                 printf("Array[%d][%d]=%d\n", x, y, k); 
                 break; 
             } 
          } 
 
          if(flag==0) 
          { 
              printf("None\n"); 
          } 
      } 
 
     return 0; 

#include <stdio.h>

int main()
{
      int i;
      int j;
      int l;
      int x;
      int y;
      int k;
      int n;
      int m;
      int flag;
      int num[10][10];

      while(scanf("%d %d", &n, &m)!=EOF)
      {
          for(i=0; i<n; i++)
          {
               for(j=0; j<m; j++)
               {
                   scanf("

补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,