天天看點

C++馬鞍點源代碼

 #include<iostream.h>

void main()

{

 int M[5][5];

 int i,j,k,t,m,n,flag;

 m=n=0;

 cout<<"請輸入M[5][5]的所有元素:"<<endl;

 for(i=0;i<5;i++)

 {

  for(j=0;j<5;j++) cin>>M[i][j];

 }

 cout<<"輸入的M[5][5]為:"<<endl;

 for(i=0;i<5;i++)

 {

  for(j=0;j<5;j++) cout<<"  "<<M[i][j];

  cout<<endl;

 }

     for(i=0;i<5;i++)

  {   t=M[i][0];

      flag=1;  //設flag為鞍點标志

  for(j=1;j<5;j++)//查找第i行的最小元素

  {

   if(M[i][j]<t)

   { t=M[i][j];

    m=i; n=j; //第i行的最小點下标

   }

  }

  //判斷M[m][n]是否在目前列最大

     for(k=0;k<5;k++)

   if(M[m][n]<M[k][n]) flag=0;

  if(flag) cout<<"鞍點M"<<"["<<m<<"]["<<n<<"]="<<M[m][n]<<endl;

 }

 cout<<endl;

}

c++

繼續閱讀