编写一个程序找出一个二维数组中的鞍点

编写一个程序找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。

 

#include “stdio.h”
#include “conio.h”
#define M 3
#define N 6
 
void main()
{
 int a[M][N],i,j,max,min,column,rowmin,n=0;
 
 printf(“Input a array of %d by %d: \n”,M,N);
 for(i=0;i < M;i++)
  for(j=0;j < N;j++)scanf(“%d”,&a[i][j]);
 printf(“Saddle number as follow:\n”);
 for(i=0;i < M;i++)
 { max=a[i][0];    column=0;
   for(j=1;j < N;j++)
    if(max < a[i][j])
     {/*找到行更大的*/
       max=a[i][j];  column=j;
     }
   min=a[0][column];  rowmin=0;
   for(j=1;j < M;j++)
     if (min > a[j][column])
      { min=a[j][column];rowmin=j;}
    if (max==min&&i==rowmin) {
    printf(“Row %d, Column %d:\t%d\n”,i+1, column+1,a[i][column]);
    n++;
   }
 }
 if(!n) printf(“No saddle number\n”);
 else   printf(“There are %d  saddle number.\n”,n);
 getch();
}

© 版权声明
THE END
喜欢就支持以下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容