輸出螺旋矩陣 二

2021-04-07 00:11:47 字數 3399 閱讀 8601

輸出這樣的二維陣列:

1  3  4  10  11

2  5  9  12  19

6  8  13 18  20

7  14 17 21  24

15 16 22 23  25

sub spiralmetrix(byval n as integer)

n = n - 1

dim i as integer, j as integer, a() as integer

redim a(n, n)

a(0, 0) = 1

a(n, n) = (n + 1) ^ 2

for i = 1 to n

a(0, i) = a(0, i - 1) + iif(i mod 2 = 1, 2 * i, 1)

a(n, n - i) = (n + 1) ^ 2 + 1 - a(0, i)

a(i, 0) = a(i - 1, 0) + iif(i mod 2 = 1, 1, 2 * i)

a(n - i, n) = (n + 1) ^ 2 + 1 - a(i, 0)

next

for i = 1 to n - 1

for j = 1 to n - 1

a(i, j) = a(i - 1, j + 1) + (-1) ^ (i - j)

next

next

debug.print "n=" & n + 1

for i = 0 to n

for j = 0 to n

debug.print left(a(i, j) & space(5), 5);

next

debug.print

next

end sub

private sub command1_click()

dim i as integer

for i = 2 to 10

spiralmetrix i

next

end sub

輸出:n=2

1    3   

2    4   

n=31    3    4   

2    5    8   

6    7    9   

n=41    3    4    10  

2    5    9    11  

6    8    12   15  

7    13   14   16  

n=51    3    4    10   11  

2    5    9    12   19  

6    8    13   18   20  

7    14   17   21   24  

15   16   22   23   25  

n=61    3    4    10   11   21  

2    5    9    12   20   22  

6    8    13   19   23   30  

7    14   18   24   29   31  

15   17   25   28   32   35  

16   26   27   33   34   36  

n=71    3    4    10   11   21   22  

2    5    9    12   20   23   34  

6    8    13   19   24   33   35  

7    14   18   25   32   36   43  

15   17   26   31   37   42   44  

16   27   30   38   41   45   48  

28   29   39   40   46   47   49  

n=81    3    4    10   11   21   22   36  

2    5    9    12   20   23   35   37  

6    8    13   19   24   34   38   49  

7    14   18   25   33   39   48   50  

15   17   26   32   40   47   51   58  

16   27   31   41   46   52   57   59  

28   30   42   45   53   56   60   63  

29   43   44   54   55   61   62   64  

n=91    3    4    10   11   21   22   36   37  

2    5    9    12   20   23   35   38   53  

6    8    13   19   24   34   39   52   54  

7    14   18   25   33   40   51   55   66  

15   17   26   32   41   50   56   65   67  

16   27   31   42   49   57   64   68   75  

28   30   43   48   58   63   69   74   76  

29   44   47   59   62   70   73   77   80  

45   46   60   61   71   72   78   79   81  

n=10

1    3    4    10   11   21   22   36   37   55  

2    5    9    12   20   23   35   38   54   56  

6    8    13   19   24   34   39   53   57   72  

7    14   18   25   33   40   52   58   71   73  

15   17   26   32   41   51   59   70   74   85  

16   27   31   42   50   60   69   75   84   86  

28   30   43   49   61   68   76   83   87   94  

29   44   48   62   67   77   82   88   93   95  

45   47   63   66   78   81   89   92   96   99  

46   64   65   79   80   90   91   97   98   100 

輸出螺旋矩陣

螺旋矩陣 是指一個呈螺旋狀的矩陣,它的數字由第一行開始到右邊不斷變大,向下變大,向左變大,向上變大,如此迴圈。如圖1 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 輸出螺旋矩陣 author zhanliqing ...

輸出螺旋矩陣

關於螺旋矩陣的說法不一,這裡指的是形如 21 22.20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 17 16 15 14 13 的矩陣。問題有兩個 1.程式設計實現輸出這個矩陣 2.設1點的座標是 0,0 x方向向右為正,y方向向下為正.例如 7的座標為 1,1 2的座標為...

矩陣螺旋輸出

劍指 offer 29.順時針列印矩陣 輸入一個矩陣,按照從外向裡以順時針的順序依次列印出每一個數字。1.用行增量和列增量決定下一步方向 2.到達邊界時,換方向 同時縮小邊界條件 3.當左右邊界,上下邊界重合時了,完成全部遍歷 param matrix return var spiralorder ...

輸出雙螺旋矩陣

實驗室師兄找工作時在有道遇到的一道筆試題 列印雙螺旋矩陣。雙螺旋矩陣的定義如下,矩陣的最中心是1,往上是2,右拐3,向下4,然後依次5 6,7.構成一條順序增大的螺旋線,此外,如果從中心往下走的話,也是一條對稱的螺旋線。題目是給定一個矩陣維度n,將其列印出來,示例如下。要求在紙上把 寫完整,時間半小...

輸出螺旋矩陣 三

輸出這樣的二維陣列 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 分析 填充如此一個n n陣列 先觀察規律 n 1 1n 2 1 24 3 對於n n陣列,可以先將1 4 n 填充四周,內部用一個 n 2 n 2 的陣列加上4 n 1 填充,所以用遞迴比較直觀,如下 ...