// Saddle point
#include<iostream.h>
#include<conio.h>
void main()
{
  int m=0,n=0,k=0,p=0,t=0,i=0,j=0,mix=0;
  int flag;
  int a[20][20];
  clrscr();
  cout << "Enter number of rows:";
  cin  >> n;
  cout << "Enter number of columns:";
  cin  >> m;
  cout <<endl;
  for( i=0; i<n; i++ )
    { cout << " Enter row "<<i<<" : ";
      for( j=0; j<m; j++ )
       cin >> a[i][j];
    }
  for ( k=0 ; k<n ; k++ )
   {
      mix=a[k][t];  flag=1;
      for( j=1; j<m; j++ )
        if((a[k][j]<mix) && (a[k][j]!=0))
          {
            mix=a[k][j];
            t=j;  p=k;
          }
      for( i=0; i<n; i++ )
        {
          if( i!=p )
            if( a[i][t]>mix )
              {
                flag=0; t=0; break;
                }
          if( i==n-1 && flag==1)
            cout << "Saddle point=" << mix;
        }
    }
  if ( flag==0)
    cout << "Saddle point doesn't exist";
    getch();
  }