找出一个二维数组中的"鞍点",即该位置上的元素在该行中最大,在该列中最小(也可能没有"鞍点"),打印有关信息.(提示:注意特殊情况:没鞍点或多个鞍点)

#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) { int a[][] = {};
for(int i = ;i < ;i++){
for (int j = ;j < ; j++){
a[i][j] = arc4random()%( - + ) + ;
printf("%d ",a[i][j]);
}
printf("\n");
}
BOOL flag = true; for(int i = ;i < ;i++){
int max = a[i][];
int maxj = ;
for (int j = ;j < ;j++){
if (max < a[i][j]){
max = a[i][j];
maxj = j;
}
for(int k = ;k < ;k++){
if(max > a[k][maxj]){
flag = false;
}
}
if(flag == true){
printf("鞍点为%d,坐标(%d,%d)\n",max,i,maxj);
}
} }
if(flag == false){
printf("没有鞍点存在!\n");
}
return ;
}
上一篇:KMP小扩展,找出子串在主串中出现的所有位置


下一篇:【转】Intellij IDEA 14中使用MyBatis-generator 自动生成MyBatis代码