Тема: Rnd...
Показать сообщение отдельно
Старый 12.10.2005, 13:13   #12
Diplomat
Дэвелопер
 
Регистрация: 07.09.2005
Сообщений: 1,519
Написано 66 полезных сообщений
(для 164 пользователей)
1. Прост до глупости. Работает соответственно.
Dim Value(4)
For q=0 To 100000
 X=Rnd(3000)
 X=X/1000+1
 Value(X)=Value(X)+1
Next
For q=0 To 4
 Print q+" возвращалось приблизительно в "+ Value(q)/1000+"% случаев..."
Next
WaitKey()
2. Работает на основе исправления "глюков" округления
Dim Value(4)
For q=0 To 10000
 X=aRnd(2)+1
 Value(X)=Value(X)+1
Next
For q=0 To 4
 Print q+" возвращалось приблизительно в "+ Value(q)/100+"% случаев..."
Next
WaitKey()

Function aRnd(RndValue#)
	RndCounter=Rnd(RndValue+1)
	If RndCounter=RndValue+1 Then RndCounter=0
	Return RndCounter
End Function
Вот такие пироги...
(Offline)
 
Ответить с цитированием