command1是生成数组
command2是删除重复数
问题应该出在command2
Option Explicit
Option Base 1
Dim a() As IntegerPrivate Sub Command1_Click()
Dim n As Integer, i As Integer
n = InputBox("输入N")
ReDim a(n)
Randomize
For i = 1 To n
a(i) = Int(Rnd * 10) + 1
Text1 = Text1 & Str(a(i))
Next i
End SubPrivate Sub Command2_Click()
Dim ub As Integer, i As Integer, j As Integer
Dim k As Integer, n As Integer
ub = UBound(a)
n = 1
Do While n < ub
i = n + 1
Do While i <= ub
If a(n) = a(i) Then
For j = 1 To ub - 1
a(j) = a(j + 1)
Next j
ub = ub - 1
ReDim Preserve a(ub)
Else
i = i + 1
End If
Loop
n = n + 1
Loop
For n = 1 To ub
Text2 = Text2 & Str(a(n))
Next n
End Sub
在text2中显示出来的删除后的数组,都没有text1中数组的第一个数,而且有时会出现重复的数
不知道问题在哪边,请高手帮帮我~多谢了!
command2是删除重复数
问题应该出在command2
Option Explicit
Option Base 1
Dim a() As IntegerPrivate Sub Command1_Click()
Dim n As Integer, i As Integer
n = InputBox("输入N")
ReDim a(n)
Randomize
For i = 1 To n
a(i) = Int(Rnd * 10) + 1
Text1 = Text1 & Str(a(i))
Next i
End SubPrivate Sub Command2_Click()
Dim ub As Integer, i As Integer, j As Integer
Dim k As Integer, n As Integer
ub = UBound(a)
n = 1
Do While n < ub
i = n + 1
Do While i <= ub
If a(n) = a(i) Then
For j = 1 To ub - 1
a(j) = a(j + 1)
Next j
ub = ub - 1
ReDim Preserve a(ub)
Else
i = i + 1
End If
Loop
n = n + 1
Loop
For n = 1 To ub
Text2 = Text2 & Str(a(n))
Next n
End Sub
在text2中显示出来的删除后的数组,都没有text1中数组的第一个数,而且有时会出现重复的数
不知道问题在哪边,请高手帮帮我~多谢了!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货