| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 562 人关注过本帖
标题:大家看看,这是我的错呢,还是计算机的错?
只看楼主 加入收藏
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
大家看看,这是我的错呢,还是计算机的错?
程序代码:
#include<iostream.h>
void main()
{
    int num[6]={5,7,3,4,2,1};
    int i,j,k,temp;
    int ans[6][6];
   
    for(j=0;j<6;j++)
    {
        i=0;
        ans[i][j]=num[j];
        temp=num[j];
        for(k=1;k<=6;k++)
        {
            i++;
            j++;
            if(j>5)
            {
                j-=6;
            }
            ans[i][j]=temp;
//            cout<<"k="<<k<<endl;
        cout<<"j="<<j<<'\t';
        }
        cout<<endl;
//        cout<<"j="<<j<<endl;
    }
    for(i=0;i<6;i++)
    {
        for(j=0;j<6;j++)
            cout<<ans[i][j]<<'\t';
        cout<<endl;
    }
}
运行结果:
error2.rar (5.21 KB)

大家看看,这是我的错呢,还是计算机的错?
    注意运行结果中第三行中j的变化,我认为有问题~
搜索更多相关主题的帖子: 计算机 
2010-07-29 11:13
mxs810
Rank: 9Rank: 9Rank: 9
来 自:火星
等 级:贵宾
威 望:16
帖 子:234
专家分:1122
注 册:2006-10-19
收藏
得分:0 
楼主先把你的程序思路列一下~~

程序有什么问题,说一下~~

[ 本帖最后由 mxs810 于 2010-7-29 11:53 编辑 ]

授人以鱼不如授人以渔
2010-07-29 11:50
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
收藏
得分:0 
回复 2楼 mxs810
想要结果:
5 7 3 4 2 1
1 5 7 3 4 2
2 1 5 7 3 4
4 2 1 5 7 3
3 4 2 1 5 7
7 3 4 2 1 5
我是这样做的:从第一行的每个数开始,对整个矩阵保存完每个数字,在开始下一个;
              如先是ans[0][0]=5;然后保存ans[1][1]=5,直至ans[6][6]=5;
              再从第一行7开始,重复……;
                我感觉程序没什么错啊~

向前走着……
2010-07-29 12:27
mxs810
Rank: 9Rank: 9Rank: 9
来 自:火星
等 级:贵宾
威 望:16
帖 子:234
专家分:1122
注 册:2006-10-19
收藏
得分:0 
这个循环    for(j=0;j<6;j++)
里边j = 3的时候是无效的,你在循环里边修改了j的值,
正好跳过了j = 3这组循环,造成4没有赋给ans里边。

单步跟踪一下,你就发现了

授人以鱼不如授人以渔
2010-07-29 13:01
mxs810
Rank: 9Rank: 9Rank: 9
来 自:火星
等 级:贵宾
威 望:16
帖 子:234
专家分:1122
注 册:2006-10-19
收藏
得分:20 
问题我帮你找到了:
ans[i][j]=temp;这句存在溢出访问,
当i = 6的时候就出问题了
改为:
程序代码:
            if (i == 6)
            {
                i = 0;
            }
            ans[i][j]=temp;



授人以鱼不如授人以渔
2010-07-29 13:22
promising
Rank: 3Rank: 3
来 自:上海
等 级:论坛游侠
帖 子:87
专家分:147
注 册:2009-8-31
收藏
得分:0 
回复 5楼 mxs810
Thanks~

向前走着……
2010-07-29 15:29
快速回复:大家看看,这是我的错呢,还是计算机的错?
数据加载中...
 
   



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

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