我郁闷啊,问题出哪儿了

天地一棵树 2008-11-12 02:09:42
#include <stdio.h>
#include <math.h>
void main()
{int a[3][3]={{1,2,3},{8,7,9},{4,3,2}};
int i,j,t;
for (i=0;i<3;i++)
for (j=0;j<3;j++)
{
if (a[i][j]>a[i][j+1]&&a[i][j]<a[i+1][j])
t=a[i][j];
}printf("%d\n",a[i][j]);
} 找一个 二维数组中的鞍点,几该位置上的元素在改行上最大,在该列上最小
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyuer5222 2008-11-12
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <math.h>
void main()
{
//int a[3][3]={{1,2,3},{8,7,9},{4,3,2}}; /*--无鞍点--*/
int a[3][3]={{1,2,3},{8,7,9},{4,3,5}}; /*--有鞍点--*/
int flag1;
int flag2;
int index;
int max;
int i;
int j;
int k;
flag1=0;

for(i=0;i<3;i++)
{
max=a[i][0];
for (j=0;j<3;j++)
{
if(a[i][j]>max)
{
max=a[i][j];
index=j;
}
}

for (k=0,flag2=1;k<3&&flag2;k++)
if(max>a[k][index])
flag2=0;

if(flag2)
{
printf("鞍点为:a[%d][%d]=%d\n",i,index,max);
flag1=1;
}
}
if(!flag1)
printf("无鞍点\n");

}

user_csc 2008-11-12
  • 打赏
  • 举报
回复
if (a[i][j]>a[i][j+1]&&a[i][j] <a[i+1][j])

会越界访问
Longinc 2008-11-12
  • 打赏
  • 举报
回复
数组越界了
cyj626 2008-11-12
  • 打赏
  • 举报
回复
数组溢出了 呵呵
wuyu637 2008-11-12
  • 打赏
  • 举报
回复
if (a[i][j]>a[i][j+1]&&a[i][j] <a[i+1][j])
================判断的条件不足,这样的语句,只是比较了每个点的右边和下边,
但是实际上要做一个循环的比较。把每个点所在的行列都比一遍。



alexhilton 2008-11-12
  • 打赏
  • 举报
回复
i < 3, what about i+1?
j < 3, what about j+1?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧