求帮助找出此编程的错误
题目为找出一个二维数组的鞍点,即该位置上的元素在该行上最大,该列上最小,也可能没有鞍点#include<stdio.h>
int main()
{
int i,j,a[5][3],m,n,p,q;
printf("请任意输入15个数,中间用逗号隔开\n");
for(i=0;i<5;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<5;i++)
m=a[i][0];
for(j=0;j<3;j++)
if(a[i][j]>=m)
{
m=a[i][j];
p=j;
}
for(q=0;q<5;q++)
{
n=a[0][p];
if(n>=a[q][p])
n=a[q][p];
}
if(m==n)
printf("%d\n",n);
else
printf("该数不存在!");
return 0;
}