鞍点:即该位置上的元素在该行上最大、在该列上最小。也可能没有鞍点。 9 80 205 4090 -60 96 1210 -3 101 89编写程序如下:#include <stdio.h>
int main()
{
int a[3][4]={{9,80,205,40},{90,-60,96,1},{210,-3,101,89}};
int i,j,max,m,n,leap;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%d",a[i][j]);
printf("\n");
}
for(i=0;i<3;i++)
{
max=a[i][0];n=0;
for(j=0;j<n;j++)
if(a[i][j]>max)
{
max=a[i][j];n=j;
}
leap=1;
for(m=0;m<3;m++)
if(max>a[m][n])
{
leap=0;break;
}
if(leap)
{
printf("There is a saddle point:a[%d][%d]=%d\n",i+1,n+1,max);
break;
}
if(!leap)
{
printf("There is no saddle point.\n");
}
}
return 0;
}求大神指点!
1 回答
慕的地3800369
TA贡献15条经验 获得超7个赞
#include <stdio.h> int main() { int a[3][4]={{9,80,205,40},{90,-60,96,1},{210,-3,101,89}}; int i,j,max,m,n,leap; for(i=0;i<3;i++) { for(j=0;j<4;j++) { printf("%d ",a[i][j]); } printf("\n"); } for(i=0;i<3;i++) { max=a[i][0]; n=0; leap = 0; //修改过的地方,这里选出行最大的 for(j=0;j<4;j++) { if(a[i][j]>max) { max=a[i][j]; n=j; } leap=1; } //这里选出列最小的 for(m=0;m<3;m++) { if(max>a[m][n]) { leap=0; break; } } if(leap) { printf("There is a saddle point:a[%d][%d]=%d\n",i+1,n+1,max); //去掉break } if(!leap) { printf("There is no saddle point.\n"); } } return 0; }
麻烦下次把代码整理好再来提问,我晕死,括号不打括号,格式没有格式....
- 1 回答
- 0 关注
- 1509 浏览
添加回答
举报
0/150
提交
取消