Board logo

標題: [分享] 不受2^16限制的函數transpose [打印本頁]

作者: mhl9mhl9    時間: 2018-1-25 00:39     標題: 不受2^16限制的函數transpose

'''''arr無論是1維或2維,下界無論是0或1,都可以轉置成2維下界是1的array
''''取代transpose函數不再受阻于2^16限制,大家參考,希望大大們指教.

Function mytranspose(Arr)
    Dim k%, x, y, Brr
    k = IIf(LBound(Arr) = 0, 1, 0) ''''區分arr下界是0是1
    On Error Resume Next
    x = UBound(Arr, 2)
    On Error GoTo 0
    If IsEmpty(x) Then ''''''''''''''''''''''''1維
        ReDim Brr(1 To UBound(Arr) + k, 1 To 1)
        For i = 1 To UBound(Arr)
            Brr(i, 1) = Arr(i - k)
        Next i
    Else '''''''''''''''''''''''''''''''''''''''2維
        x = UBound(Arr, 2)
        y = UBound(Arr, 1)
        ReDim Brr(1 To x + k, 1 To y + k)
        
        For i = 1 To x + k
            For j = 1 To y + k
                Brr(i, j) = Arr(j - k, i - k)
            Next j
        Next i
    End If
   
    mytranspose = Brr

End Function




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)