问题遇到的现象和发生背景
程序可以正常运行但是不知道为什么没有输出结果,实在是想不明白了,希望有人能解答一下,谢谢了
程序目的是从上述二维数组中找出鞍点并输出鞍点所在的行和列和它的值(鞍点是所在的行中最小,列中最大的元素)
用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
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(point<a[i][j]){break;}
else if(point>a[i][j]){
k++;
if(k==4){printf("saddle point is a[%d][%d]=%d\n",h,l,point);break;}
}
}
}
}else if(sample<a[i][j]){
k++;
h=i,j=0;
if(k==4){
point=sample;
for(i=0,k=0;i<4;i++,k++){
if(point<a[i][j]){break;}
else if(point>a[i][j]){
k++;
if(k==4){printf("saddle point is a[%d][%d]=%d\n",h,l,point);break;}
}
}
}
}
}
}
}