Randomize Timer
Dim arr(3) As Double
Dim tmpNumber As Double
Dim OK As Boolean
Dim i As Long, j As Long
For i = 0 To UBound(arr)
mmm:
tmpNumber = Rnd
OK = True
For j = 0 To i
If tmpNumber = arr(i) Then
OK = False
Exit For
End If
Next j
If OK = False Then GoTo mmm
Next i
Snussi писал(а):Но, вообще-то, RND крайне редко повторяет значения.
uhm писал(а):> Всего лишь 1 из 10000000 раз
Кто это тебе сказал??
Dim arr(3) As Double
Dim tmpNumber As Double
Dim OK As Boolean
Dim i As Long, j As Long
Randomize
For i = 0 To UBound(arr)
tmpNumber = Rnd
OK = True
For j = 0 To i
If tmpNumber = arr(j) Then
OK = False
Exit For
End If
Next
If OK Then arr(i) = tmpNumber Else i = i - 1
Next
ism писал(а):Использование оператора GoTo является дурным тоном
ism писал(а):For i = 0 To UBound(arr)
...
If OK Then arr(i) = tmpNumber Else i = i - 1 <<< Ещё более дурной тон
Next
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 68