code.club

 找回密碼
 立即註冊
搜索
查看: 6757|回復: 0
打印 上一主題 下一主題

蛇型陣列的寫法

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2015-10-16 15:10:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;

int main(){
int n,i,j,sum=0;       

cin>>n;
int a[n][n];
memset(a,0,sizeof(a));
sum=a[i=0][j=n-1]=1;

while(sum<n*n)
{
        while((i+1<n)&&!a[i+1][j]) a[++i][j]= ++sum;
        while((j-1>=0)&&!a[i][j-1]) a[i][--j] = ++sum;
        while((i-1>=0)&&!a[i-1][j]) a[--i][j] = ++sum;
        while((j+1<n)&&!a[i][j+1]) a[i][++j] = ++sum;
}

for(i=0;i<n;i++)
{
        for(j=0;j<n;j++) printf("%3d ",a[i][j]);
    cout<<endl;
}

       
        return 0;
}


19  20  21  22  23  24   1
18  37  38  39  40  25   2
17  36  47  48  41  26   3
16  35  46  49  42  27   4
15  34  45  44  43  28   5
14  33  32  31  30  29   6
13  12  11  10    9   8    7
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

小黑屋|手機版|Archiver|code.club  

GMT+8, 2024-12-4 16:08 , Processed in 0.074072 second(s), 17 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表