VB如何统计二维数组中相同元素的个数?比如:A(1,1)=2A(1,2)=3aA(2,1)=11A(2,2)=5A(3,1)=34A(3,2)=11tA(4,1)=55A(4,2)=3aA(5,1)=57A(5,2)=11tA(6,1)=72A(6,2)=3a统计后形成(注意按b(i,1)的大小升序排列)B(1,1)=3aB(1,2)=3个B(2,1)=5B
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/27 11:08:00
![VB如何统计二维数组中相同元素的个数?比如:A(1,1)=2A(1,2)=3aA(2,1)=11A(2,2)=5A(3,1)=34A(3,2)=11tA(4,1)=55A(4,2)=3aA(5,1)=57A(5,2)=11tA(6,1)=72A(6,2)=3a统计后形成(注意按b(i,1)的大小升序排列)B(1,1)=3aB(1,2)=3个B(2,1)=5B](/uploads/image/z/8801625-57-5.jpg?t=VB%E5%A6%82%E4%BD%95%E7%BB%9F%E8%AE%A1%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84%E4%B8%AD%E7%9B%B8%E5%90%8C%E5%85%83%E7%B4%A0%E7%9A%84%E4%B8%AA%E6%95%B0%3F%E6%AF%94%E5%A6%82%EF%BC%9AA%281%2C1%29%3D2A%281%2C2%29%3D3aA%282%2C1%29%3D11A%282%2C2%29%3D5A%283%2C1%29%3D34A%283%2C2%29%3D11tA%284%2C1%29%3D55A%284%2C2%29%3D3aA%285%2C1%29%3D57A%285%2C2%29%3D11tA%286%2C1%29%3D72A%286%2C2%29%3D3a%E7%BB%9F%E8%AE%A1%E5%90%8E%E5%BD%A2%E6%88%90%28%E6%B3%A8%E6%84%8F%E6%8C%89b%28i%2C1%29%E7%9A%84%E5%A4%A7%E5%B0%8F%E5%8D%87%E5%BA%8F%E6%8E%92%E5%88%97%29B%281%2C1%29%3D3aB%281%2C2%29%3D3%E4%B8%AAB%282%2C1%29%3D5B)
VB如何统计二维数组中相同元素的个数?比如:A(1,1)=2A(1,2)=3aA(2,1)=11A(2,2)=5A(3,1)=34A(3,2)=11tA(4,1)=55A(4,2)=3aA(5,1)=57A(5,2)=11tA(6,1)=72A(6,2)=3a统计后形成(注意按b(i,1)的大小升序排列)B(1,1)=3aB(1,2)=3个B(2,1)=5B
VB如何统计二维数组中相同元素的个数?
比如:
A(1,1)=2
A(1,2)=3a
A(2,1)=11
A(2,2)=5
A(3,1)=34
A(3,2)=11t
A(4,1)=55
A(4,2)=3a
A(5,1)=57
A(5,2)=11t
A(6,1)=72
A(6,2)=3a
统计后形成(注意按b(i,1)的大小升序排列)
B(1,1)=3a
B(1,2)=3个
B(2,1)=5
B(2,2)=1个
B(3,1)=11t
B(3,2)=2个
VB如何统计二维数组中相同元素的个数?比如:A(1,1)=2A(1,2)=3aA(2,1)=11A(2,2)=5A(3,1)=34A(3,2)=11tA(4,1)=55A(4,2)=3aA(5,1)=57A(5,2)=11tA(6,1)=72A(6,2)=3a统计后形成(注意按b(i,1)的大小升序排列)B(1,1)=3aB(1,2)=3个B(2,1)=5B
Private Sub Command1_Click()
Dim a(),b(),blnFlag As Boolean,F%
Dim i%,j%,k%
ReDim a(1 To 6,1 To 2)
a(1,1) = "2"
a(1,2) = "3a"
a(2,1) = "11"
a(2,2) = "5"
a(3,1) = "34"
a(3,2) = "11t"
a(4,1) = "55"
a(4,2) = "3a"
a(5,1) = "57"
a(5,2) = "11t"
a(6,1) = "72"
a(6,2) = "3a"
ReDim b(1 To 2,1 To 1) ' B(1,1)=3a B(2,1)=3个
b(1,UBound(b,2)) = "" ' a(LBound(a,1),LBound(a,2))
For i = LBound(a,1) To UBound(a,1)
For j = LBound(a,2) To UBound(a,2)
blnFlag = False
For k = LBound(b,2) To UBound(b,2)
If a(i,j) = b(1,k) Then blnFlag = True:Exit For
Next
If blnFlag Then
b(2,k) = b(2,k) + 1
Else
b(1,UBound(b,2)) = a(i,j)
b(2,UBound(b,2)) = 1
ReDim Preserve b(1 To 2,LBound(b,2) To UBound(b,2) + 1) '保留原值重定义数组
b(1,UBound(b,2)) = ""
b(2,UBound(b,2)) = 0
End If
Next
Next
For k = LBound(b,2) To UBound(b,2)
Print b(1,k),b(2,k)
Next
End Sub
'b 数组中二维下标的位置换了一下,以便于 保留原值重定义数组 而不出错!