:oops: Глупый вопрос rnd

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Netta
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 25.11.2003 (Вт) 12:22
Откуда: Lithuanian

:oops: Глупый вопрос rnd

Сообщение Netta » 25.11.2003 (Вт) 12:36

Мне нужен масив случайных чисел в интервале от 16 до 30. Как в rnd задать допустимые пределы :?:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 25.11.2003 (Вт) 12:40

Ну так:

Код: Выделить всё
num = round(rnd*30) - round(rnd*16)

Netta
Новичок
Новичок
 
Сообщения: 37
Зарегистрирован: 25.11.2003 (Вт) 12:22
Откуда: Lithuanian

Сообщение Netta » 25.11.2003 (Вт) 12:41

RayShade писал(а):Ну так:
Код: Выделить всё
num = round(rnd*30) - round(rnd*16)


Большое спосибо :) Хотя работает несовсем. Если кому интересно есть и не оптимальный способ.

res = 0
While Not (res > 16 And res < 30)
res = Rnd * 30
Wend

boevik
Обычный пользователь
Обычный пользователь
 
Сообщения: 72
Зарегистрирован: 23.07.2002 (Вт) 11:44
Откуда: Israel

Сообщение boevik » 25.11.2003 (Вт) 15:45

а еще проще
Код: Выделить всё
rnd*14+16

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 25.11.2003 (Вт) 16:04

ну и я еще добавлю... до кучи, так сказать. формула на все случаи жизни.

случайное (читай "псевдослучайное") число в диапазоне от min до max:

x = Int((max - min + 1) * Rnd + min)
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC

sanches
El compa&#241;ero
El compa&#241;ero
 
Сообщения: 823
Зарегистрирован: 09.01.2003 (Чт) 3:58
Откуда: Р_О_С_С_И_Я ! (Питер)

Сообщение sanches » 25.11.2003 (Вт) 16:58

В самом общем случае (самый изощренный) способ получить случайное число 0..1, а затем перемасштабировать его (при помощи специальной фугкции) в необходимый дипазон. я таким часто пользуюсь.
Изображение

Rainbow
Человек-радуга
Человек-радуга
 
Сообщения: 543
Зарегистрирован: 13.05.2003 (Вт) 14:16

Сообщение Rainbow » 25.11.2003 (Вт) 17:19

А чем твой общий случай отличается от "формулы на все случаи жизни" Cyrax'а? :wink:

Cyrax
Cyberninja
Cyberninja
Аватара пользователя
 
Сообщения: 891
Зарегистрирован: 25.04.2002 (Чт) 21:20
Откуда: Magnitogorsk, Russia

Сообщение Cyrax » 25.11.2003 (Вт) 17:22

давайте не будем дискутировать по этому поводу...
каждый высказал свое мнение, предложил свой вариант, а чем конкретно пользоватся - пусть каждый решает для себя сам.

у меня все.
Ты это ему расскажи. Я уже пять болтов отвинтил, и конца не видно... (озадаченно) А это в какую сторону тянуть? Ну-ка... Ага, этот был лишний, этот вообще не отсюда, и этот... Точно, два болта.

Welcome to IRC


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, PetalBot и гости: 8

    TopList