鞍点
鞍点的元素值在该行中最大,在该列中最小
//习题7-5
//求鞍点
#include <stdio.h>
int main()
{
int n;
int i, j, k, u, x, y,flag;
int a[6][6];
printf("enter n: ");
scanf("%d", &n );
printf("enter %d rows %d columns: \n", n, n );
for( i=0; i<n; i++ )
for( j=0; j<n; j++ )
scanf("%d", &a[i][j] );
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
k=0;
while(k<n)
{
x=0;
y=0;
flag=1;
for(i=k; i<n; i++) //这里i=k;
{
x=i;
for(j=0; j<n; j++)
{
if(a[i][j]>a[x][y]) //列中最小
y=j;
x=i;
}
break;
}
for(u=0; u<n; u++) //行中最大
{
if(a[x][y]>a[u][y])
{
flag=0;
break;
}
}
if(flag==1){
printf("yes, it is: %d\n",a[x][y]);
printf("%d %d\n",x,y);
}
else
printf("No\n");
k++;
}
return 0;
}
enter n: 4
enter 4 rows 4 columns:
1 3 4 5 6 7 8 9 0 1 34 5 7 8 0 9
1 3 4 5
6 7 8 9
0 1 34 5
7 8 0 9
yes, it is: 5
0 3 //查第一行
No //查第二行
No //查第三行
No //查第四行