Arr = Array(Array(1, 2, 3, 4, 5, 6), Array(2, 3, 4, 5, 6, 7), Array(3, 4, 5, 6, 7, 8))
问题:(1)arr二维还是一维数组?
     (2)怎样输出这个数组成矩阵的形式?
     (3)怎样输出这个矩阵的转置矩阵?

解决方案 »

  1.   

    Arr 是几维数组用Msgbox UBound(arr,2)试一下就行了若不报错,就是二维的,否则就是一维的
      

  2.   

    输出数组的代码(不一定对,仅供参考)
    Private Sub Form_Load()
    Form1.Show
    Arr = Array(Array(1, 2, 3, 4, 5, 6), Array(2, 3, 4, 5, 6, 7), Array(3, 4, 5, 6, 7, 8))
    'MsgBox UBound(Arr, 2)For i = 0 To UBound(Arr, 1)
    s = ""
    For j = 0 To UBound(Arr(0), 1)
    s = s & Arr(i)(j) & "  "
    Next
    Print s
    Next
    For j = 0 To UBound(Arr(0), 1)
    s = ""
    For i = 0 To UBound(Arr, 1)
    s = s & Arr(i)(j) & "  "
    Next
    Print s
    Next
    End Sub
      

  3.   

    Dim Arr, i As Integer, j As Integer
    Dim s As String
        Arr = Array(Array(1, 2, 3, 4, 5, 6), Array(2, 3, 4, 5, 6, 7), Array(3, 4, 5, 6, 7, 8))    For i = 0 To UBound(Arr)
            s = ""        For j = 0 To UBound(Arr(i))
                s = s & Arr(i)(j) & "  "
            Next        Debug.Print s
        Next
    老张的代码很正确!至于转置矩阵,因为,用Arr = Array(Array(1, 2, 3, 4, 5, 6), Array(2, 3, 4, 5, 6, 7), Array(3, 4, 5, 6, 7, 8))生成的数组不一定是矩阵,如:Arr = Array(Array(1), Array(2, 3), Array(3, 4, 8))
    这样也行,所以,表示矩阵最好用二维数组