找出二维数组中的鞍点,c语言

来源:百度知道 编辑:UC知道 时间:2024/06/05 05:49:48
#include<stdio.h>
void main()
{int i,j,min,m,n,p,q,max;
m=0;n=0;p=0;q=0;
int a[4][4]={{1,2,4,3},{5,2,7,4},{7,3,6,8},{2,4,5,9}};
max=a[0][0];
min=a[0][0];
for(i=0;i<4;i++)
{ for(j=0;j<4;j++)
if(a[i][j]>max){ max=a[i][j];m=i;n=j;}
for(j=n;j<n+1;j++)
{for(i=0;i<4;i++)
if(a[i][j]<min){ min=a[i][j];p=i;q=j ; }
}
if((p==m)&&(q==n)) printf("%d",a[m][n]);
else printf("no an dian");

}
错在哪里呢?

你好:

#include<stdio.h>

void main()

{

int i,j,min,m,n,p,q,max;

m=0;n=0;p=0;q=0;

int a[4][4]={{1,2,4,3},{5,2,7,4},{7,3,6,8},{2,4,5,9}};

max=a[0][0];

min=a[0][0];

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

{

m=i;

n=0;

p=0;

q=0;

max=a[i][0];

for(j=0;j<4;j++)

if(a[i][j]>max)

max=a[i][j];

n=j;

}

min=a[0][n];

q=n;

for(j=0;j<4;j++)

if(a[j][n]<min)

min=a[j][n];

p=j;

}

if((p==m))

{

printf("鞍点为:%d\n",a[m][n]);

printf("此时m=%d; n=%d\n",m,n);

break;

}

else 

if(i>=3)

printf("no an dian");

}

已编译出,是正确的,如果哪里不懂,再联系我。

希望对你有帮助