VB在一组数中随机抽5个数要求不能重复我有一组由30个数组成的数组,要求随机抽取5个数为一组共6组,每一组和组与组间不能重复如:1,8,7,9,102,5,11,6,124,30,24,21,2213,15,16,19,293,14,17,18,2725,20,28,23,26
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 15:17:32
![VB在一组数中随机抽5个数要求不能重复我有一组由30个数组成的数组,要求随机抽取5个数为一组共6组,每一组和组与组间不能重复如:1,8,7,9,102,5,11,6,124,30,24,21,2213,15,16,19,293,14,17,18,2725,20,28,23,26](/uploads/image/z/11645168-32-8.jpg?t=VB%E5%9C%A8%E4%B8%80%E7%BB%84%E6%95%B0%E4%B8%AD%E9%9A%8F%E6%9C%BA%E6%8A%BD5%E4%B8%AA%E6%95%B0%E8%A6%81%E6%B1%82%E4%B8%8D%E8%83%BD%E9%87%8D%E5%A4%8D%E6%88%91%E6%9C%89%E4%B8%80%E7%BB%84%E7%94%B130%E4%B8%AA%E6%95%B0%E7%BB%84%E6%88%90%E7%9A%84%E6%95%B0%E7%BB%84%2C%E8%A6%81%E6%B1%82%E9%9A%8F%E6%9C%BA%E6%8A%BD%E5%8F%965%E4%B8%AA%E6%95%B0%E4%B8%BA%E4%B8%80%E7%BB%84%E5%85%B16%E7%BB%84%2C%E6%AF%8F%E4%B8%80%E7%BB%84%E5%92%8C%E7%BB%84%E4%B8%8E%E7%BB%84%E9%97%B4%E4%B8%8D%E8%83%BD%E9%87%8D%E5%A4%8D%E5%A6%82%EF%BC%9A1%2C8%2C7%2C9%2C102%2C5%2C11%2C6%2C124%2C30%2C24%2C21%2C2213%2C15%2C16%2C19%2C293%2C14%2C17%2C18%2C2725%2C20%2C28%2C23%2C26)
VB在一组数中随机抽5个数要求不能重复我有一组由30个数组成的数组,要求随机抽取5个数为一组共6组,每一组和组与组间不能重复如:1,8,7,9,102,5,11,6,124,30,24,21,2213,15,16,19,293,14,17,18,2725,20,28,23,26
VB在一组数中随机抽5个数要求不能重复
我有一组由30个数组成的数组,要求随机抽取5个数为一组共6组,每一组和组与组间不能重复
如:1,8,7,9,10
2,5,11,6,12
4,30,24,21,22
13,15,16,19,29
3,14,17,18,27
25,20,28,23,26
不知道如何用VB编写代码,请高手发个代码可以吗
VB在一组数中随机抽5个数要求不能重复我有一组由30个数组成的数组,要求随机抽取5个数为一组共6组,每一组和组与组间不能重复如:1,8,7,9,102,5,11,6,124,30,24,21,2213,15,16,19,293,14,17,18,2725,20,28,23,26
'可以用集合对象来操作,每抽取一个数时,就把该项移除掉.这样就可以保证每个数只抽取一次.
'当然如果你提供的这系列数中本身有重复的数的话,那避免不了有重复的数了.
Private Sub Command1_Click()
Dim a
a = Array(1, 8, 7, 9, 10, 2, 5, 11, 6, 12, 4, 30, 24, 21, 22, 13, 15, 16, 19, 29, 3, 14, 17, 18, 27, 25, 20, 28, 23, 26)
Dim item
Dim col As New Collection
For Each item In a
col.Add item
Next
'把数组中的数加入集合对象
'--------------------------------
Dim Index As Integer
Dim i As Integer
Dim strLine As String
For i = 1 To col.Count '每循环抽取一数
Index = Int(col.Count * Rnd + 1) '获取随机下标量
strLine = strLine & "," & col.item(Index) '将下标元素追加到strLine
col.Remove (Index) '移除该下标元素
If i Mod 5 = 0 Then Debug.Print Mid(strLine, 2): strLine = "" 'i被5整除时输出一行, 改变 5 可改变每行的项目数
Next
If strLine <> "" Then Debug.Print Mid(strLine, 2) '如有残留的不完全行也输出
End Sub