7,763
社区成员
发帖
与我相关
我的任务
分享
Sub Proc(arrSour() As Integer)
Dim arrTemp%(), arrIndex%(), arrCount&()
Dim i&, j&, lArrL&, lArrU&
Dim iTest%, lCount&, lArrPnt&
lArrL = LBound(arrSour)
lArrU = UBound(arrSour)
j = lArrU - lArrL
ReDim arrTemp(lArrL To lArrU), arrIndex(0 To j), arrCount(0 To j)
For i = lArrL To lArrU
arrTemp(i) = 1
Next
lArrPnt = -1
For i = lArrL To lArrU - 1
If (arrTemp(i) = 1) Then
iTest = arrSour(i)
lCount = 1
For j = i + 1 To lArrU
If (arrSour(j) = iTest) Then
lCount = lCount + 1
arrTemp(j) = 0
End If
Next
lArrPnt = lArrPnt + 1
arrIndex(lArrPnt) = iTest
arrCount(lArrPnt) = lCount
End If
Next
ReDim arrTemp(0 To lArrPnt)
For i = 0 To lArrPnt: arrTemp(i) = i: Next
For i = 1 To lArrPnt
iTest = arrCount(i)
For lArrL = 0 To i - 1
If (arrCount(arrTemp(lArrL)) < iTest) Then Exit For
Next
For j = i To lArrL + 1 Step -1
arrTemp(j) = arrTemp(j - 1)
Next
arrTemp(lArrL) = i
Next
For i = 0 To 17
j = arrTemp(i)
label1(i+1).Caption = arrIndex(j) & ">>>>" & arrCount(j)
Next
End Sub
Sub PrintValue(a() As Long)
Dim i As Long
Dim p(100 To 999) As Long
Dim max As Long
Dim n As Long
For i = 0 To UBound(a)
p(a(i)) = p(a(i)) + 1
If p(a(i)) > max Then max = p(a(i))
Next
n = 1
Do
For i = 999 To 100 Step -1
If p(i) = max Then
Label1(n) = i & "出现 " & p(i) & " 次"
n = n + 1
End If
If n > 18 Then Exit Sub
Next
max = max - 1
Loop While max
End Sub