Sub BubbleSort(List() As Double) Dim First As Double, Last As Double Dim i As Integer, j As Integer Dim Temp As Double First = LBound(List) Last = UBound(List) For i = First To Last - 1 For j = i + 1 To Last If List(i) > List(j) Then Temp = List(j) List(j) = List(i) List(i) = Temp End If Next j Next i End Sub像这样,如果要把数组中的数据传过去比较啊??? 我一直实现不了? list()=val(text1.text) 这样子,就不会了,我! 帮忙,谢谢!
你不是只要取最大和最小吗?那不需要数组的比较啊 以最大为例: Sub BubbleSort(List() As Double) Dim First As Double, Last As Double Dim i As Integer Dim Temp As Double '定义最大变量 Dim dblMax as Double '最大赋初值 dblMax=list(0)
First = LBound(List) Last = UBound(List) For i = First To Last - 1 if list(i)> dblMax then '替换最大值 dblMax=list(i) end if Next i End Sub i是不是从0开始的,你自己看下。
我的意思是: 在一个文本中,由外面输入数据!数据是有很多的!像: 1,2,2,3,4,5 现在就要取这个文本中的最大值与最小值啊! 我开始是对 Dim myarray(1 To 400) For k = 1 To 400 myarray(k) = Val(Text3.Text) + Rnd Next k 可是接下来的比较好像就不行了! 不管是怎么样,print maxnum时也只是文本中的第一个元素! 请问这个要如何解决?
For i = 1 To 400 - 1 For j = i + 1 To 400 If w(i) > w(j) Then temp = w(i) w(i) = w(j) w(i) = temp minmun = Int(temp) End If Next j Next iPrint minmunFor m = 1 To 400 - 1 For n = i + 1 To 400 If w(m) < w(n) Then temp = w(m) w(m) = w(n) w(m) = temp maxmun = Int(temp) End If Next n Next mPrint maxmun我是这样子求取它的最大最小的,可是这个maxmun显示出来却不行!!不能为最大 请问这个要如何解决?
For m = 1 To 400 If w(m) < minmun Then minmun = w(m) If w(m) > maxmun Then maxmun = w(m) NextPrint minmun Print maxmun
我有些晕了,还没学会前提,就先做了后面处理?Dim w() As String, m As Long, minmun As Single, maxmun As Single w = Split(Text1.Text, ",") minmun = w(0) maxmun = w(0) For m = 0 To UBound(w) If w(m) < minmun Then minmun = w(m) If w(m) > maxmun Then maxmun = w(m) NextPrint minmun Print maxmun
Dim First As Double, Last As Double
Dim i As Integer, j As Integer
Dim Temp As Double
First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
For j = i + 1 To Last
If List(i) > List(j) Then
Temp = List(j)
List(j) = List(i)
List(i) = Temp
End If
Next j
Next i
End Sub像这样,如果要把数组中的数据传过去比较啊???
我一直实现不了?
list()=val(text1.text)
这样子,就不会了,我!
帮忙,谢谢!
以最大为例:
Sub BubbleSort(List() As Double)
Dim First As Double, Last As Double
Dim i As Integer
Dim Temp As Double
'定义最大变量
Dim dblMax as Double
'最大赋初值
dblMax=list(0)
First = LBound(List)
Last = UBound(List)
For i = First To Last - 1
if list(i)> dblMax then
'替换最大值
dblMax=list(i)
end if
Next i
End Sub
i是不是从0开始的,你自己看下。
在一个文本中,由外面输入数据!数据是有很多的!像: 1,2,2,3,4,5
现在就要取这个文本中的最大值与最小值啊!
我开始是对
Dim myarray(1 To 400)
For k = 1 To 400
myarray(k) = Val(Text3.Text) + Rnd
Next k
可是接下来的比较好像就不行了!
不管是怎么样,print maxnum时也只是文本中的第一个元素!
请问这个要如何解决?
当数据输入后,后台对文本以“,”分割,存到一个数组中(注意类型)
然后就用我上面的那段代码,对这个数组取数据就可以了。
你要看你自己的代码为什么是第一个数据的话,还是断点进去看看就可以了。
你循环的index对不对?情确认下
For j = i + 1 To 400
If w(i) > w(j) Then
temp = w(i)
w(i) = w(j)
w(i) = temp
minmun = Int(temp)
End If
Next j
Next iPrint minmunFor m = 1 To 400 - 1
For n = i + 1 To 400
If w(m) < w(n) Then
temp = w(m)
w(m) = w(n)
w(m) = temp
maxmun = Int(temp)
End If
Next n
Next mPrint maxmun我是这样子求取它的最大最小的,可是这个maxmun显示出来却不行!!不能为最大
请问这个要如何解决?
If w(m) < minmun Then minmun = w(m)
If w(m) > maxmun Then maxmun = w(m)
NextPrint minmun
Print maxmun
w(m)=val(Text1.text)
是不是用其它方法载入的?
载入后又如何进行比较?
w = Split(Text1.Text, ",")
minmun = w(0)
maxmun = w(0)
For m = 0 To UBound(w)
If w(m) < minmun Then minmun = w(m)
If w(m) > maxmun Then maxmun = w(m)
NextPrint minmun
Print maxmun
真的感谢你!!!