| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 403 人关注过本帖
标题:关于编程的问题,代码不知道有什么问题,麻烦大神。。
只看楼主 加入收藏
henghaosu
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-1-21
结帖率:50%
收藏
已结贴  问题点数:10 回复次数:2 
关于编程的问题,代码不知道有什么问题,麻烦大神。。
程序代码:
#include<iostream>
using namespace std;
void main()
{
    int n;
    cin>>n;
    int *r=new int[(2*n)*(2*n)];
    for(int i=0;i<n;i++)
    {
        int j=i;
        for(int w=0;w<2*n-2*i-1;w++)
        {  
            if(j==i || j==2*(n-i-1))
                {for(int m=i;m<2*n-i-1;m++)
                {r[j*m]=i+1;
            cout<<"r["<<j<<"*"<<m<<"]="<<i+1<<" ";}
            cout<<endl;}
            else
            {
                r[j*(2*n-2*i-1)]=i+1;
                cout<<"r["<<j<<"*"<<2*n-2*i-1<<"]="<<i+1<<" ";
                r[j*i]=i+1;
                cout<<"r["<<j<<"*"<<i<<"]="<<i+1<<" ";
                cout<<endl;
               
            }
            j++;
        }
    }
    r[2*2]=1;//加上这句话就能知道有好几个数据是共用同一空间。
    for(int t=0;t<2*n-1;t++)
    {   
        for(int p=0;p<2*n-1;p++)
            cout<<r[t*p]<<" ";
        cout<<endl;
    }
    cin>>n;
}

大神们。。帮忙看下吧,谢谢啦,
4、由键盘输入一个自然数N(1≤N≤9),要求程序在屏幕上输出如下图形。
  N=1时:        N=3时:       N=4时:
    1            11111       1111111
                 12221       1222221
                 12321       1233321
                 12221       1234321
                 11111       1233321
                             1222221
                             1111111
    注:应保证N在图形中只出现一次,且在中心。


这个我写完了之后发现有些数据是共用同一内存空间。
麻烦高手指点一下吧
搜索更多相关主题的帖子: 编程 
2013-05-02 16:01
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:5 
把这个 //r[2*2]=1;//加上这句话就能知道有好几个数据是共用同一空间。注释掉就可以了

Maybe
2013-05-02 17:51
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
代码复杂了点,没看懂。要不我重写个
程序代码:
#include <iostream>
using namespace std;

void foo( size_t n )
{
    const size_t wh = 2*n-1;
    for( size_t r=0; r<wh; ++r )
    {
        for( size_t c=0; c<wh-1; ++c )
        {
            cout << std::min( std::min(r+1,wh-r), std::min(c+1,wh-c) ) << ' ';
        }
        cout << "1\n";
    }
}

int main()
{
    foo(4);

    return 0;
}

2013-05-03 08:33
快速回复:关于编程的问题,代码不知道有什么问题,麻烦大神。。
数据加载中...
 
   



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

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