dim a() as long dim b() as long dim m as long ,n as long dim i as long ,j as long m=? n=?redim a(n,m) redim b(m,n)'给a(n,m)赋初值for i=0 to m for j=0 to n b(i,j)=a(j,i) next j next i
Dim a(2, 3) As Long Dim b(3, 2) As Long Dim strs As String Dim k As Integer Dim strs1 As String For i = 0 To 1 For j = 0 To 2 a(i, j) = k k = k + 1 strs = strs & a(i, j) & " " Next strs = strs & vbCrLf Next Print strsFor i = 0 To 2 For j = 0 To 1 b(i, j) = a(j, i) strs1 = strs1 & b(i, j) & " " Next strs1 = strs1 & vbCrLf Next Print Print strs1
上面说的方法都对 补充一点 做矩阵转置的时候,可以先生成转置后的行元素,也可以先生成列元素。 先行: Dim a() as long Dim b() as long Dim m,n as longRedim a(m,n) Redim b(n,m) '初始化m,n '初始化数组a() '转置 For i=0 to m For j=0 to n b(j,i)=a(i,j) Next j Next i 先列: Dim a() as long Dim b() as long Dim m,n as longRedim a(m,n) Redim b(n,m) '初始化m,n '初始化数组a() '转置 For i=0 to m For j=0 to n b(i,j)=a(j,i) Next j Next i
Private Sub Form_Paint() Dim a() As Long Dim b() As Long Dim m, n As Long Dim str As String m = 3 n = 4 str = "" ReDim a(m, n) ReDim b(n, m) '初始化m,n '初始化数组a() '转置 For k = 1 To m For k1 = 1 To n a(k, k1) = k & k1 Next Next Print "数组A" Print m & "行" & n & "列" For k = 1 To m For k1 = 1 To n str = str + CStr(a(k, k1)) & " " Next Print str str = "" Next Print "================================" Print "数组B" Print n & "行" & m & "列" For i = 1 To m For j = 1 To n b(j, i) = a(i, j) Next j Next i str = "" For k = 1 To n For k1 = 1 To m str = str + CStr(b(k, k1)) & " " Next Print str str = "" Next
dim b() as long dim m as long ,n as long dim i as long ,j as long m=?
n=?redim a(n,m)
redim b(m,n)'给a(n,m)赋初值for i=0 to m
for j=0 to n
b(i,j)=a(j,i)
next j
next i
Dim b(3, 2) As Long
Dim strs As String
Dim k As Integer
Dim strs1 As String
For i = 0 To 1
For j = 0 To 2
a(i, j) = k
k = k + 1
strs = strs & a(i, j) & " "
Next
strs = strs & vbCrLf
Next
Print strsFor i = 0 To 2
For j = 0 To 1
b(i, j) = a(j, i)
strs1 = strs1 & b(i, j) & " "
Next
strs1 = strs1 & vbCrLf
Next
Print
Print strs1
补充一点
做矩阵转置的时候,可以先生成转置后的行元素,也可以先生成列元素。
先行:
Dim a() as long
Dim b() as long
Dim m,n as longRedim a(m,n)
Redim b(n,m)
'初始化m,n
'初始化数组a()
'转置
For i=0 to m
For j=0 to n
b(j,i)=a(i,j)
Next j
Next i
先列:
Dim a() as long
Dim b() as long
Dim m,n as longRedim a(m,n)
Redim b(n,m)
'初始化m,n
'初始化数组a()
'转置
For i=0 to m
For j=0 to n
b(i,j)=a(j,i)
Next j
Next i
Dim a() As Long
Dim b() As Long
Dim m, n As Long
Dim str As String
m = 3
n = 4
str = ""
ReDim a(m, n)
ReDim b(n, m)
'初始化m,n
'初始化数组a()
'转置
For k = 1 To m
For k1 = 1 To n
a(k, k1) = k & k1
Next
Next
Print "数组A"
Print m & "行" & n & "列"
For k = 1 To m
For k1 = 1 To n
str = str + CStr(a(k, k1)) & " "
Next
Print str
str = ""
Next
Print "================================"
Print "数组B"
Print n & "行" & m & "列"
For i = 1 To m
For j = 1 To n
b(j, i) = a(i, j)
Next j
Next i
str = ""
For k = 1 To n
For k1 = 1 To m
str = str + CStr(b(k, k1)) & " "
Next
Print str
str = ""
Next