应天论坛

 找回密码
 参与我们

QQ登录

只需一步,快速开始

搜索
查看: 780|回复: 0

n阶螺旋方阵

[复制链接]

276

主题

303

帖子

3197

积分

管理员

湘南小侠客

Rank: 9Rank: 9Rank: 9

积分
3197

优质服务勋章论坛元老

QQ
发表于 2017-5-22 01:16:04 | 显示全部楼层 |阅读模式
n阶螺旋方阵

[mw_shl_code=cpp,true]#include "stdafx.h"
#include "iostream"
using namespace std;

//打函数印螺旋方阵的
void print(int n)
{

        int i, j, k;
        //定义i为行,j为列,k是一个额外空间
        i = j = 0;
        //从a[0][0开始
        int a[30][30];
        //开辟一个30*30的空间
        int count = 1;
        //count是计数,从一加到n*n
        int q = n;
        //海龟算法,以(1,0)为向右,一直右转
        //(1,0)->(0,-1)->(-1,0)->(0,1)

        //代换方式如下利用k,k = d;d = e;        e = -k;
        int d = 1;
        int e = 0;
  //定义开始方向向右
       
        //因为一阶为1,二阶为3,三阶为5,四阶为7;所以设置g=2n-1;外循环转这么多次
        for (int g=0; g< 2 * q - 1;g++)
        {
                for (int h=0; h < n;h++)
                {
                        //然后第一次走n的距离,第二次n-1第三次n-1;第四次n-2,第五次n-2
                        //故采用n每次减0.5的方法,控制走的距离
                        a[j] = count;
                        if (d == 1 && e == 0)
                                j++;
                        else if (d == 0 && e == -1)
                                i++;
                        else if (d == -1 && e == 0)
                                j--;
                        else
                                i--;

                        count++;
       
                               
                }
                k = d;
                d = e;
                e = -k;
                //参上,改变方向
                n = n - 0.5;
                //参上,控制距离
        }


        //打印函数
                for (int x = 0; x < n; x++)
                {
                        for (int y = 0; y < n; y++)
                        {
                                printf_s("%d", a[x][y]);
                        }
                        printf_s("\n");
                }
        }



int main()
{
        //主函数调用,9阶
        print(9);
        system("pause");
        return 0;

}[/mw_shl_code]
每次见你穿短裤打领带,还穿个拖鞋,下次再这样穿不要从我家门口过了!
http://gsh.yzqz.cn/CassettePlayer/index.html

天之道,损有余而补不足.人之道则不然,损不足以奉有余.孰能有余以奉天下,唯有道者.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 参与我们

本版积分规则

QQ|Archiver|手机版|小黑屋|应天社区 ( 湘ICP备17015224号 )

GMT+8, 2024-12-22 18:38 , Processed in 0.078125 second(s), 28 queries .

Powered by Discuz!

© 2001-2017 Comsenz Inc.


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@yzqz.cn

快速回复 返回顶部 返回列表