Finding the saddle point of a matrix

A matrix a is said to have a saddle point if some entry a[I][j] is the smallest value in the ith row and the largest value in the jth column. A matrix may have more than one saddle point.

Example

#include<stdio.h>
#define ROW 3
#define COL 3

int main()
{
   void read(int a[][COL],int,int);
   void dis(int a[][COL],int,int);
   int sadd_pt(int a[][COL],int,int,int *,int*);
   int i,a[3][3],m=0,n=0;
   read(a,ROW,COL);
   printf("\nThe matrix is \n");
   dis(a,ROW,COL);
   i=sadd_pt(a,3,3,&m,&n);
   printf("The saddle point is %d &its position is row : %d col :%d\n",i,m+1,n+1);
   getchar();
   return 0;
}
void read(int c[][3] ,int i ,int k)
{
    int j,l;
   printf("Enter the array \n");
   for(j=0;j<i;j++)
       for(l=0;l<k;l++)
              scanf("%d",&c[j][l]);
   fflush(stdin);
}
void dis(int d[][3],int i,int k)
{
   int j,l;
   for(j=0;j<i;j++)
   {
      for(l=0;l<k;l++)
            printf("\t%d",d[j][l]);
      printf("\n");
   }
}
int sadd_pt(int mat[][3],int k ,int l,int *row,int *col)
{
   int min=32767,i=0,j,m,n,p=0;
   while(i<k)
   {
      min=32767;
      m=i;
      p=0;
      for(j=0;j<l;j++)
      {
         if(mat[i][j]<min)
         {
            min=mat[i][j];
            n=j;
         }
      }
      for(j=0;j<k;j++)
             if(min>=mat[j][n])
                    p++;

      if(p==3)
      {
            *row=m;
            *col=n;
            return(min);
      }
      i++;
   }
   printf("No saddle point exists\n");
   getch();
   exit(0);
}