鞍点

题目标题:
鞍点(谌海军)

 

题目描述:

找出一个二维数组中的鞍点,即该位置上的元素在该行上最大、在该列上最小。

也可能没有鞍点。

 

输入描述:

输入一个3行3列的二维整形数组。

 

输出描述:

如果鞍点存在,输出其坐标;否则输出-1;

如:鞍点位于第一行第三列,则输出1 3;

 

样式输入:

1 2 3
4 5 6
7 8 9

 

样式输出:

1 3

#include "stdio.h"
void main()
{
     int a[3][3],i,j,m[3],n[3];
     for(i=0;i<3;i++)
        for(j=0;j<3;j++)
            scanf("%d",&a[i][j]);
     m[0]=a[0][0];m[1]=a[1][0];m[2]=a[2][0];
     n[0]=a[0][0];n[1]=a[0][1];n[2]=a[0][2];
     for(i=0;i<3;i++)
     {
         for(j=0;j<3;j++)
         {
               if(i==0){if(m[0]<a[i][j])m[0]=a[i][j];}
          else if(i==1){if(m[1]<a[i][j])m[1]=a[i][j];}
          else if(i==2){if(m[2]<a[i][j])m[2]=a[i][j];}
          else if(j==0){if(n[0]>a[i][j])n[0]=a[i][j];}
          else if(j==1){if(n[1]>a[i][j])n[1]=a[i][j];}
          else if(j==2){if(n[2]>a[i][j])n[2]=a[i][j];}
         }
     }
    for(i=0;i<3;i++)
    {
         for(j=0;j<3;j++)
         {
             if(m[i]==n[j])printf("%d %d",i+1,j+1);
         }
    }
}
     

 

 

 

 

 

 

 

 

 

 

posted @ 2014-04-05 11:39  achst  阅读(387)  评论(0编辑  收藏  举报