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个

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 数组中二维下标的位置换了一下,以便于 保留原值重定义数组 而不出错!
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-03
星期四姐姐来了,姐姐说:“我教你画画吧。”于是,我非常高兴。姐姐说:“我们一起画月亮吧。”我说:“好啊。”然后姐姐就拿起笔,画起月亮来,我看姐姐画得这么漂亮,就拿起笔画起月亮来。  可是我怎么画也画不漂亮,于是姐姐就抓着我的手,教我画月亮。  我画了好几遍,才画得和姐姐一样漂亮。

VB如何统计二维数组中相同元素的个数?
'b 数组中二维下标的位置换了一下,以便于 保留原值重定义数组 而不出错!

VB语言二维数组元素个数怎么算?
若是有option base XX,例如option base 1,a(3,4)就等价于a(1 To 3,1 To 4),数组就有3*4=12个元素。例如a(3,4),第一维是3,第二维是4,数组就有(3+1)*(4+1)=20个元素,因为这时下界默认是0,等价于a(0 To 3,0 To 4)。同理,option base 2,a(3,4)就等...

vb 如何取2个二维数组相同的数
需要嵌套循环,提取A数组中的一个元素,循环与B数组中的数一个个对应,看是否相同:For m = 1 To i For n = 1 To j For o = 1 To k For p = 1 To w If a(m, n) = b(o, p) Then Print "a("; m; ","; n; ")=b("; o; ","; p; ")"Next Next Next Next ...

VB计算数组中相同数字的个数
另外建立一个二维数组d(1 To 14,1 To 2) As Integer 用来存放各数值以及出现的次数,一开始都为0,或者其它一个特殊的数据-9999 然后,从a数组每读一个数,就去扫描数组d,找一找是否存在,若不存在就添加,若存在就加1 窗体上添加一个按钮:代码如下:Option Explicit Private Sub Command1_Cli...

VB二维数组中找出相同值并统计个数
Const k = 13 Dim counts(), content()Sub aa()n = 0 ReDim Preserve content(1)content(1) = Cells(1, 1)For i = 1 To k For j = 1 To UBound(content)If Cells(i, 1) = content(j) Then m = m + 1 End If Next j If m = 0 Then n = UBound(content) + 1 Re...

二维数组元素个数怎么算啊!!!VB语言的,求!
先说没有option base XX情况:例如a(3,4),第一维是3,第二维是4,数组就有(3+1)*(4+1)=20个元素,因为这时下界默认是0,等价于a(0 To 3,0 To 4)。若是有option base XX,例如option base 1,a(3,4)就等价于a(1 To 3,1 To 4),数组就有3*4=12个元素。同理,...

VB统计二维数组中出现的数字的数目
我来给个用二重循环就能统计的 Private Sub Command1_Click()Dim ar(1 To 100, 1 To 7) As Integer Dim TongJi(1 To 37) As Integer Randomize For i = 1 To 100 For j = 1 To 7 ar(i, j) = Int(Rnd * 37) + 1 '用于随机生成数字 TongJi(ar(i, j)) = TongJi(ar(i,...

在VBA中,定义了二维数组B(2TO 6,4),则该数组的元素个数为几个,怎么算...
行数[2,6]共5行,列数【0,4】共5列。共有5*5=25个元素

Excel中VB编程如何获取数组的元素个数和维数
领用下面代码可获取数组个数:(UBound(A,1)-LBound(A,1))*((UBound(A,2)-LBound(A,2))其中Ubound(A,1)为数组第一维上限,Lbound(A,1)为数组第一维下限,二者相减及为数组第一维的个数,同理,后面是数组第二维的个数,两者的乘积即该数组所有元素的个数。

vba如何计算满足条件的数组元素的个数
第一维 2to6 ,就是2,3,4,5,6,一共是五个 第二维 4,就是1,2,3,4,一共四 个 所以二维数级元素一共是5*4=20个 由于 不清楚你所用的编程语言,看样子像是vb,所以数级下标按默认按1开始。

相似回答