用 rnd*100
再 读随机文件 文件记录数
再 读随机文件 文件记录数
解决方案 »
- 招VB兼职!
- 我想问一下,TREEVIEW怎样根据数据库中的内容创建无限分级
- 如何将字符串转换成时间?
- word加载项问题!!!!!!!!!!!急.高分!!!
- 我想做个很简单的在线聊天工具,请指教!
- 在将表格导出到excel时,想加一进度条显示其进度,该这么做??
- 怎么使mshflexgrid控件合并单元后其中内容居中 在线急等
- 我设置RecordSource的时候说我对象类型不匹配?
- 如何用最简捷的代码实现textbox在picturebox中用鼠标移动?
- 紧急!!!!!!!!!!!在VB中打开一个数据库后,如何获得该数据库中所有的表的名字??-------------------是来帮帮我???????????
- 请帮忙!!!急急急
- Excel:Excel里面有个Cell,是个Combobox?
rnd好象生成的是伪随机数,您知道有生成真正的随机数的函数吗?
发送时间:2001-05-24 09:45:20 优先级:普通
标题:取不同随机数函数。
Sub upprnd (upp As Integer, nn As Integer, c() As Integer)
Dim n As Integer
Dim i As Integer
Dim j As Integer
ReDim a(upp) As Integer
ReDim b(upp) As Integer
'ReDim c(upp) As Integer
For i = 1 To upp
a(i) = i
Next i
Randomize
For i = 1 To nn
rndd:
b(i) = Int(upp * Rnd + 1)
DoEvents
For n = 1 To upp
If b(i) = a(n) Then
c(i) = a(n)
For j = n To upp - i
a(j) = a(j + 1)
Next j
For j = upp - i + 1 To upp
a(j) = 0
Next j
Exit For
End If
If b(i) = c(n) Then
GoTo rndd
End If
Next n
Next i 'For i = 1 To upp
' Debug.Print "c", c(i)
'Next iEnd Sub这上函数还可以简化的,可以把GOTO语句去了,你可以试试。
记的给我加分。(新写一个贴子,我会去取分的)
如果还有问题再和我联系吧!_____________________________________________
数码产品新上市,酷 http://shopping.263.net/category21.htm
精品小家电迎夏热卖 http://shopping.263.net/category23.htm
电脑生成随机数是先取一个数作为初始值(例如现在的时间),然后通过函数迭代不断生成伪随机数,不可能生成真正的随机数。 Private Sub 随几数列_Click()
Print Rnd
End SubPrivate Sub 随几数种子_Click()
Randomize Timer
Print Rnd
End SubPrivate Sub 不同随几数_Click()
Randomize Timer
Dim a(100), c(100)
Print
For i = 1 To 100
b = Int(Rnd * 90 + 10)
k = k + 1
a(k) = b
For m = 1 To k - 1
If b = a(m) Then k = k - 1
Next m
If k >= 10 Then Exit For
Next i
For i = 1 To 10
Print a(i);
Next i
Print
'or
For i = 1 To 100
b = Val(Right(Rnd(1), 2))
If b > 10 Then
k = k + 1
a(k) = b
End If
Next i
For i = 1 To 99
For j = i + 1 To 100
If a(i) = a(j) Then a(i) = 0
Next j
Next i
For i = 1 To 100
If a(i) > 0 Then
h = h + 1
Print a(i);
If h >= 10 Then Exit For
End If
Next i
Print
'or
For i = 1 To 10
c(i) = Int(Rnd * 90) + 10
k = i
For j = 1 To k - 1
If c(j) = c(k) Then i = i - 1
Next j
Next i
For i = 1 To 10
Print c(i);
Next i
End Sub