//æ±ä¸ä¸ªm*nç©éµçéç¹ï¼å°ä½ç½®ä¸æ åå¨å¨i,j,è¿åå¼ä¸ºéç¹çå¼
//è¥æ¾ä¸å°éç¹ï¼è¿å0ï¼åæ¶å°i,j置为-1
//注æï¼è¿éå°äºç»´æ°ç»å½æä¸ç»´ä¼ å
¥ï¼æ¯ä¸ºäºæ¹ä¾¿å¤ç
//å 为C++对äºç»´æ°ç»ä½å½æ°åæ°æéå¶
//è¦è®¿é®aç第iè¡jåå
ç´ ï¼ä½¿ç¨a[i*n+j]æ¥è®¿é®
//æ°ç»å
ç´ ä¸æ ä»0å¼å§ï¼èä¸æ¯1
int saddle(int *a, int m, int n,int *i,int *j)
{
int x,y;
int max,min;
for (x=0;x<m;x++)
{
*i = x;
*j = 0;
max = a[x*n];
for (y=0;y<n;y++) //å
æ¾æ¯è¡æ大çå
ç´
{
if (a[x*n+y]>max)
{
max = a[x*n+y];
*j = y;
}
}
min = max;
for (y=0;y<m;y++)
{
if (a[y*n+(*j)]<min)
{
min = a[y*n+(*j)];
break; //è¥ä¸æ¯åä¸æå°åbreak;
}
if (max == min) //å¤ææå°çè¡æ大ååæå°æ¯å¦ç¸ç
{
return max;
}
}
*i = -1;
*j = -1;
return 0; //没ææ¾å°
}
å¨mainä¸è°ç¨
main()
{
int a[3][4]={1,2,3,7;6,4,2,8;9,10,16,1} //è¿æ¯ä½ è¦çæ°ç»ï¼èªå·±ä¿®æ¹
int i,j;
int value;
//注æè°ç¨æ ¼å¼ï¼æ个强å¶ç±»å转æ¢ï¼è¿æi,jè¦åå
value = saddle((int*)a, 3, 4, &i, &j);
if (value)
{
cout<<"The Saddle is A["<<i<<"]["<<j<<"]=="<<value<<endl;
}
else
{
cout<<"There is no Saddle"<<endl;
}
return 0;
}
è¿ä¸ªç¨åºæä¸ä¸ªå°é®é¢ï¼ä¸è½æ±å¼ä¸º0çéç¹ï¼ä¸è¿å°å°±ç¨å§ã
温馨提示:答案为网友推荐,仅供参考