реклама на сайте
подробности

 
 
> Как функцией rand() получить число от 0 до 2 ?
-=Женек=-
сообщение Jan 13 2008, 11:33
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Как функцией rand() получить число от 0 до 2 ?
Да и объясните про srand() я каждый раз в цикле вызываю srand(rand()); но на работу rand() это не оказывает влияния.

короче говоря у меня есть массив Current[3], его нужно заполнить числами от 0 до 2

for (y=0;y<3;y++)
{
srand(rand());
Current[y]= что здесь?

}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
-=Женек=-
сообщение Jan 13 2008, 17:35
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 559
Регистрация: 6-09-06
Пользователь №: 20 131



Цитата
я конечно салага но 3 вопроса
1. для какого компилятора , винавр?


Салага, наверное, я, но уже было написано выше, что компилятор CodeVision


Цитата
unsigned char led_rand()
{
unsigned char r;
do {
r = rand() & 0x03;
} while( r == 3); // тута ошибочка была, исправлено
return r;
}



Возвращает всегда 0 (((

ПОЛЦАРСТВА за
РАБОЧИЙ лишенный всяких философских непонятных абстракций
пример для CodeVision генерирующий любоей из 0,1,2 чисел.

Маленькая просьба, отвечать только тех, кто проверил это у себя на компе.

С уважением.
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 13 2008, 17:47
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(-=Женек=- @ Jan 13 2008, 19:35) *
Возвращает всегда 0 (((

Это невозможно, если только CodeVision компилятор "C" а не "языка похожего на C". Должен выдавать числа в требуемом диапазоне. Единственно, что вероятность нескольких нулей подряд отнюдь не мала, а повторяемость, как тут было уже трижды написано, 100%, поскольку rand() есть просто генератор ПСЕВДОСЛУЧАЙНОЙ последовательности однозначно задаваемой аргументом при вызове srand(). Про генерацию "случайных" , Вам ReAl рассказал.
Единственно, что максимально близкий к рабочему каноническому варианту описан в п.2 у Kirill Trusov.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- -=Женек=-   Как функцией rand() получить число от 0 до 2 ?   Jan 13 2008, 11:33
- - IgorKossak   Функция int rand(void) возвращает целое число в ди...   Jan 13 2008, 11:50
|- - Petka   Цитата(IgorKossak @ Jan 13 2008, 14:50) Ф...   Jan 13 2008, 11:57
|- - zltigo   Цитата(IgorKossak @ Jan 13 2008, 13:50) П...   Jan 13 2008, 11:59
|- - ReAl   Цитата(IgorKossak @ Jan 13 2008, 13:50) Ф...   Jan 13 2008, 13:33
|- - zltigo   Цитата(ReAl @ Jan 13 2008, 15:33) А-а-а...   Jan 13 2008, 13:59
- - -=Женек=-   мне не нужна плавающа точка. Ваш пример не работае...   Jan 13 2008, 12:21
|- - zltigo   Цитата(-=Женек=- @ Jan 13 2008, 14...   Jan 13 2008, 12:52
- - Rst7   ЦитатаТак просто не отделаетесь - Автор хотел диа...   Jan 13 2008, 14:55
- - ReAl   Да, конечно, while( r == 3), это я глюкнул - не ус...   Jan 13 2008, 15:01
- - -=Женек=-   Господа, ну конкретный результат кто-нибудь может ...   Jan 13 2008, 15:43
|- - Сергей Борщ   Цитата(-=Женек=- @ Jan 13 2008, 17...   Jan 13 2008, 16:21
|- - zltigo   Цитата(Сергей Борщ @ Jan 13 2008, 18:21) ...   Jan 13 2008, 17:09
- - -=Женек=-   брр... а RAND_MAX тогда чему равен? И к чему эти д...   Jan 13 2008, 16:34
- - Kirill Trusov   я конечно салага но 3 вопроса 1. для какого компи...   Jan 13 2008, 16:41
- - -=Женек=-   Знаете, за что я благодарен форуму? Пока дождешься...   Jan 13 2008, 18:26
|- - zltigo   Цитата(-=Женек=- @ Jan 13 2008, 20...   Jan 13 2008, 18:36
- - -=Женек=-   Я прекрасно понимаю что делаю, это вы не понимаете...   Jan 13 2008, 18:45
|- - zltigo   Цитата(-=Женек=- @ Jan 13 2008, 20...   Jan 13 2008, 18:51
|- - Сергей Борщ   Цитата(zltigo @ Jan 13 2008, 20:51) НАДО ...   Jan 13 2008, 19:14
|- - zltigo   Цитата(Сергей Борщ @ Jan 13 2008, 21:14) ...   Jan 13 2008, 19:31
|- - ReAl   Цитата(zltigo @ Jan 13 2008, 21:31) Подст...   Jan 13 2008, 19:55
|- - zltigo   Цитата(ReAl @ Jan 13 2008, 21:55) вполне ...   Jan 13 2008, 20:29
- - -=Женек=-   И что? ну пусть будет 31232, делим на 3, получаем ...   Jan 13 2008, 19:02
- - Rst7   ЦитатаПРоделайте свой код с каждым из них в письме...   Jan 13 2008, 19:04
- - Rst7   Другое дело, что деление сюда прикладывать как-то ...   Jan 13 2008, 19:19
- - ReAl   RE: Как функцией rand() получить число от 0 до 2 ?   Jan 13 2008, 19:29
- - Rst7   ЦитатаВроде нигде не промахнулся... Таки немного ...   Jan 13 2008, 19:51
- - mdmitry   Вопрос в дискуссию: кто-нибудь из авторов варианто...   Jan 13 2008, 21:44
|- - zltigo   Цитата(mdmitry @ Jan 13 2008, 23:44) Там ...   Jan 13 2008, 21:49
|- - Kirill Trusov   Цитата(mdmitry @ Jan 13 2008, 23:44) Вопр...   Jan 15 2008, 19:52
- - Elegorod   Кодint a = (new java.util.Random()...   Jan 14 2008, 19:57


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 09:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01411 секунд с 7
ELECTRONIX ©2004-2016