标题:作业的奇怪问题~!
只看楼主
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
 问题点数:0 回复次数:8 
作业的奇怪问题~!
作业:求3X4的矩阵的最大元素及其行、列号,并标出其位置:
3 38 6 45
28 5 84 7
22 44 19 29
变成:
0 0 0 1
0 0 1 0
0 1 0 0
下面是我写的程序:
void max(int a[3][4],int b[3][4])
{
int i,j,row=0,colum=0;
printf("\nmax number is:\n");
for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<4;j++)
{
if(a[row][colum]<a[i][j])
{row=i;colum=j;}
}
a[row][colum]=1; /*如果没有这句话,结果就不是要求的。本来是1,4/2,3/3,2最大。没了这句答案3,2就不对了*/
printf("a[%d][%d]",row+1,colum+1);
b[row][colum]=1;
}
printf("\n\nB array is:\n");
for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<4;j++)
printf("%5d",b[i][j]);
}
}
main()
{
int a[3][4]={3,38,6,45,28,5,84,7,22,44,19,29};
int i,j,b[3][4]={0,0,0,0,0,0,0,0,0,0,0,0};
printf("A array is:\n");
for(i=0;i<3;i++)
{
printf("\n");
for(j=0;j<4;j++)
printf("%5d",a[i][j]);
}
max(a,b);
}


结果是可以出来了,可是有点问题。请看上面!
暂时的问题。大家还有什么可以改进的么?总觉得自己写的程序好复杂!
搜索更多相关主题的帖子: 作业 void int max 矩阵 
2006-04-27 10:31
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 
哇噻。。。人都去哪了喃。
吃饭先。。。

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-04-27 11:28
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
得分:0 
作业:求3X4的矩阵的最大元素及其行、列号,并标出其位置:
3 38 6 45
28 5 84 7
22 44 19 29
变成:
0 0 0 1
0 0 1 0
0 1 0 0

到底是求矩阵中所有元素的最大值还是每一行的最大值???

淘宝杜琨
2006-04-27 13:23
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 
哦~说错了。是每行最大。SORRY。。。

人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-04-27 15:18
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 

帮我看看为什么吖?或者修改下。呵呵。


人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-04-27 16:47
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 

停,我帮你改,你再灌水(我就给你删了


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-27 16:51
走刀口→超
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:5018
专家分:0
注 册:2006-3-14
得分:0 

T。T我都下课了。都不知道要什么时候看了。。
我知道了。不灌啦。。。


人在江湖【走】,怎能不挨【刀】;为了能活【口】,唯有把己【超】!come on...
2006-04-27 16:55
feng1256
Rank: 4
等 级:贵宾
威 望:14
帖 子:2899
专家分:0
注 册:2005-11-24
得分:0 

a[row][colum] 是你初始化的最大值(每行的)
那所以处理完每行之后要初始化一下

如果没这行代码,那第一行处理完之后
a[row][colum]是45
那很容易,再处理第二行时,有比它大的最大值84(可以得到结果)
但都是跟45比较的结果,所以运作是错误的

处理完第二行它的值还是84,第三行没比它大的。所以没进行任何操作


叁蓙大山:工謪、稅務、嗣發 抱歉:不回答女人的问题
2006-04-27 17:01
gj0090999
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-3-31
得分:0 

第8和11行的大括号没用
13行的row和colum不要加1

2006-04-27 18:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-60486-1-1.html




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

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