| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 941 人关注过本帖
标题:[求助]请看看 这个程序错在那里
只看楼主 加入收藏
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
收藏
 问题点数:0 回复次数:12 
[求助]请看看 这个程序错在那里
/*求一个3行4列的矩阵里最大的元素*/
main()
{int a[3][4],x,y,max[3],max1;
for(x=0;x<=2;x++)
for(y=0;y<=3;y++)
scanf("%d,%d",&a[x][y]);
for(x=0;x<=2;x++)
for(y=0;y<=3;y++)
{if(a[x][y]<a[x][y+1])
max[x]=a[x][y+1];
else max[x]=a[x][y];
}
for(x=0;x<=2;x++)
{if(max[x]<max[x+1])
max1=max[x+1];
else max1=max[x];
}
printf("%d",max1);
getch();
}
搜索更多相关主题的帖子: 矩阵 最大的 元素 
2006-01-21 13:08
bestee
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2006-1-19
收藏
得分:0 

getch()后面的分号是中文的,改成英文之后编译通过


欢迎光临我的blog! http://blog./bestee
2006-01-21 13:12
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
收藏
得分:0 
[分享]
哦,那是我传到网上的时候弄错了的,我的意思是想让各位看看我的算法是不是出现了错误,因为在运行是结果不正确,谢谢!

2006-01-21 13:18
kankanba
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2005-10-24
收藏
得分:0 

参考下这个:有一个3×4的矩阵,要求编程序以求出其中值最大的那个元素的值及其所在的行号和列号。

#include <stdio.h>
void main ()
{
int i,j,row=0,colum=0,max;
static int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
max = a[0][0];
for(i=0; i<=2; i++)
for(j=0; j<=3; j++)
if (a[i][j] > max )
{ max = a[i][j];
row = i;
colum = j;
}
printf("max=%d, row=%d, colum=%d\n",max,row,colum);
}

2006-01-21 13:30
zushuboderen
Rank: 1
等 级:新手上路
帖 子:112
专家分:0
注 册:2005-12-24
收藏
得分:0 
楼主的逻辑不好啊,
for(x=0;x<=2;x++)
for(y=0;y<=3;y++)
{if(a[x][y]<a[x][y+1])
max[x]=a[x][y+1];
else max[x]=a[x][y];
这样会产生数组越位的吧

冷静点............. 耐心点.............
2006-01-21 19:49
love_me
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-12-29
收藏
得分:0 
以下是引用zushuboderen在2006-1-21 19:49:00的发言:
楼主的逻辑不好啊,
for(x=0;x<=2;x++)
for(y=0;y<=3;y++)
{if(a[x][y]<a[x][y+1])
max[x]=a[x][y+1];
else max[x]=a[x][y];
这样会产生数组越位的吧

没错,当Y=3时,a[x][y+1]出错


灌水无罪! 顶贴有理! <0_0>
2006-01-21 19:56
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
收藏
得分:0 

谢谢各位给我的宝贵意见,我还会仔细研读一下的,我不太明白,为什么会产生数组越位呢,能解释一下吗?


2006-01-22 08:45
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
当y=3的时候,a[x][3+1] = a[x][4]
而你的数组a是规定为a[3][4]的,意思也就是 a[0~2][0~3]
现在你的a[x][4] 4很明显就超过了0~3这个范围,所以说你有数组越位

淘宝杜琨
2006-01-22 08:49
zhangjuan
Rank: 1
等 级:新手上路
帖 子:992
专家分:0
注 册:2006-1-19
收藏
得分:0 

哦,谢谢了,我调整一下啊,还有其它问题吗?


2006-01-22 09:04
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
这个应该是你来发现的啊
你认为你在用的时候有什么不对呢?自己再想想为什么,然后再问问看看是不是想的和大家说的一样

淘宝杜琨
2006-01-22 10:14
快速回复:[求助]请看看 这个程序错在那里
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022824 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved