题目:找出一个二维数组的“鞍点”(多个鞍点)
能帮忙指出一下代码的问题吗?
代码:
//找出鞍点
#include<stdio.h>
int main()
{
int i,j,k,z,min,max,flag=0;
int arr[20][20],a[10],row,col;
printf("请输入行,列:");
scanf("%d%d",&row,&col);
for(i=0;i<row;i++)//输入数据
{
for(j=0;j<col;j++)
{
scanf("%d",&arr[i][j]);
}
}
for(i=0;i<row;i++)//求行最大
{
max=arr[i][0];
for(j=1;j<col;j++)
{
if(arr[i][j]>max)
max=arr[i][j];
}
for(z=0,k=0;z<col;z++)
{
if(arr[i][z]==max)
{
a[k]=z;
k++;
}
}
min=max;
for(j=0;j<k;j++)
{
for(z=0;z<row;z++)
{
if(min>arr[z][a[k]])
break;
}
if(z==row)
{
printf("鞍点有:%d",arr[i][a[k]]);
flag++;
}
}
}
if(flag==0)
printf("无鞍点");
return 0;
}