程序可以正常运行但是不知道为什么没有输出结果,实在是想不明白了,希望有人能解答一下,谢谢了
程序目的是从上述二维数组中找出鞍点并输出鞍点所在的行和列和它的值(鞍点是所在的行中最小,列中最大的元素)
#include
int main()
{
int a[4][4]={{1,2,3,4},{2,3,4,5},{3,4,5,6,},{4,5,6,7}};
int i,j,k,point=0,sample=0,h,l;//h代表行 l代表列
for(i=0;i<4;i++){
sample=a[i][0];
for(j=0,k=0,h=0,l=0;j<4;j++){
if(sample>a[i][j]){
k++;
sample=a[i][j];
h=i,l=j;
if(k==4){
point=sample;
for(i=0,k=0;i<4;i++,k++){
if(pointelse if(point>a[i][j]){
k++;
if(k==4){printf("saddle point is a[%d][%d]=%d\n",h,l,point);break;}
}
}
}
}else if(sampleh=i,j=0;
if(k==4){
point=sample;
for(i=0,k=0;i<4;i++,k++){
if(pointelse if(point>a[i][j]){
k++;
if(k==4){printf("saddle point is a[%d][%d]=%d\n",h,l,point);break;}
}
}
}
}
}
}
}
你这数组整个是递增的,哪来的鞍点啊
你的数据得跟马鞍一样才行啊
马鞍见过吗,前后方向是两头高中间低,左右方向是两头低中间高