zoukankan      html  css  js  c++  java
  • 输出螺旋矩阵(二)

    输出这样的二维阵列:

    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=3
    1    3    4   
    2    5    8   
    6    7    9   
    n=4
    1    3    4    10  
    2    5    9    11  
    6    8    12   15  
    7    13   14   16  
    n=5
    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  
    n=6
    1    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=7
    1    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=8
    1    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=9
    1    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 

  • 相关阅读:
    Insus Meta Utility
    The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.
    Insus Binary Utility
    asp.net实现文件下载功能
    Column 'Column Name' does not belong to table Table
    程序已被编译为DLL,怎样去修改程序功能
    如何在Web网站实现搜索功能
    如何把数据流转换为二进制字符串
    Asp.net更新文件夹的文件
    如何显示中文月份
  • 原文地址:https://www.cnblogs.com/fengju/p/6336342.html
Copyright © 2011-2022 走看看