| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 463 人关注过本帖
标题:(ー`′ー)好难的一个递归数组结合的图形打印题!!大神帮帮我吧!! T^T …
只看楼主 加入收藏
笙歌歌…
Rank: 1
来 自:上海(>_<)
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-1
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
(ー`′ー)好难的一个递归数组结合的图形打印题!!大神帮帮我吧!! T^T …
输入1:*
输入2:
 *
* *
输入3:
   *
  * *
 *   *
* * * *
输入4:
       *
      * *
     *   *
    * * * *
   *       *
  * *     * *
 *   *   *   *
* * * * * * * *
输入5:
               *
              * *
             *   *
            * * * *
           *       *
          * *     * *
         *   *   *   *
        * * * * * * * *
       *               *
      * *             * *
     *   *           *   *
    * * * *         * * * *
   *       *       *       *
  * *     * *     * *     * *
 *   *   *   *   *   *   *   *
* * * * * * * * * * * * * * * *
2014-12-01 08:05
笙歌歌…
Rank: 1
来 自:上海(>_<)
等 级:新手上路
帖 子:2
专家分:0
注 册:2014-12-1
收藏
得分:0 
发表⊙﹏⊙的有毛病………是正三角形的…没弯
输入4:
       *
      * *
     *   *
    * * * *
   *       *
  * *     * *
 *   *   *   *
* * * * * * * *

(ー`′ー)求教!
2014-12-01 08:08
stop1204
Rank: 9Rank: 9Rank: 9
来 自:福建省
等 级:贵宾
威 望:22
帖 子:295
专家分:1151
注 册:2013-9-8
收藏
得分:10 
找出规律. 想算法.
要输出的字符数量 = 3^(N-1)

[ 本帖最后由 stop1204 于 2014-12-5 03:21 编辑 ]

hl928452957@gmail点com

2014-12-04 19:39
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:10 
程序代码:
#include <stdio.h>
#include <string.h>

int main( void )
{
    unsigned n = 6;

    // 构建梯形矩阵
    const unsigned m = 1u<<(n-1);
    const unsigned size = m*(3*m+1)/2;
    char* p = new char[size];
    memset( p, ' ', size );
    for( unsigned i=1; i!=m; ++i )
        p[m*i+i*(i+1)/2-1] = '\n';
    p[size-1] = '\0';
    p[m-1] = '*';

    // 向左下和右下处增殖
    for( unsigned i=0; i!=n-1; ++i )
    {
        unsigned sz = 1u<<i;
        for( unsigned r=0; r!=sz; ++r )
        {
            for( unsigned c=m-r-1; c!=m+r; ++c )
            {
                p[(r+sz)*m+(r+sz)*(r+sz+1)/2+c-sz] = p[r*m+r*(r+1)/2+c];
                p[(r+sz)*m+(r+sz)*(r+sz+1)/2+c+sz] = p[r*m+r*(r+1)/2+c];
            }
        }
    }

    // 输出
    puts( p );
    delete[] p;

    return 0;
}
2014-12-05 15:56
快速回复:(ー`′ー)好难的一个递归数组结合的图形打印题!!大神帮帮我吧!! T ...
数据加载中...
 
   



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

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