Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2012, 23:03   #1
bogdan333
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 22
По умолчанию Случайные числа

И снова я прошу помощи )
как мне в builder реализовать выпадение числ от 15 до 20 ?
я писал так:
-5+(rand()%15)
и так:
rand()%40
но рандом из левых числ
в чём проблема?
код таков
void __fastcall TForm1::Button1Click(TObject *Sender)
{
a = a - ??????? ;//здесь моя проблема )
Label1->Caption = a;
if (a<1)
Label2->Caption = "Победа!";
Label1->Width = 100;
Label2->Width = 300;
}

Последний раз редактировалось bogdan333; 09.04.2012 в 23:05. Причина: понятность
bogdan333 вне форума Ответить с цитированием
Старый 09.04.2012, 23:39   #2
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Код:
   int max = 20;
   int min = 15;
   int r = rand()%(max - min + 1) + min;
   // r - случайное число от 15 до 20
EUGY вне форума Ответить с цитированием
Старый 09.04.2012, 23:46   #3
bogdan333
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 22
По умолчанию

а что значит +1?
int r = rand()%(max - min + 1) + min;
bogdan333 вне форума Ответить с цитированием
Старый 09.04.2012, 23:51   #4
bogdan333
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 22
По умолчанию

просто интерестно )
а rand рабочий спс!
bogdan333 вне форума Ответить с цитированием
Старый 10.04.2012, 00:00   #5
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Я думаю тебе надо почитать справку по функции rand() и оператору деления по модулю %. Вопрос отпадет.
Ну а если рассуждать логически, и своими словами:
Чтобы получить случайное число от 15 до 20
нужно взять случайное число от 0 до 5 и прибавить к нему минимум(15).
Количество вариантов 6 // 0,1,2,3,4,5
20-15 + 1 == 6
EUGY вне форума Ответить с цитированием
Старый 10.04.2012, 00:09   #6
bogdan333
Пользователь
 
Регистрация: 26.12.2011
Сообщений: 22
По умолчанию

я щас архангельского читаю, но временами приходится обращаться к реальным людям, как сегодня )
bogdan333 вне форума Ответить с цитированием
Старый 10.04.2012, 00:13   #7
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Не стесняйся, спрашивай. Всегда приятно помочь человеку, который хоть и не знает чего-то, но искренне интересуется, а не просит написать за него лабу. )
EUGY вне форума Ответить с цитированием
Старый 12.04.2012, 10:27   #8
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

В Билдере есть функция RandomRange(int, int) - генерирует случайное число из указанного диапазона.
Код:
int r = RandomRange(15,20); //r - случайное число от 15 до 20
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 12.04.2012, 10:57   #9
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Перед циклом : randomize
Внутри цикла : _random(от нуля до N);
Потом умножаеш, вычитаеш и счастливо улыбаешься.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 12.04.2012, 13:48   #10
LiuLiuJons
Форумчанин
 
Регистрация: 28.12.2011
Сообщений: 124
По умолчанию

А я бы уточнила именно для билдера:

Перед циклом - Randomize();

В цикле - 15+ Random(5);
"Думай не о задаче, а о решении" (с)
LiuLiuJons вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Случайные числа Toa Microsoft Office Excel 6 30.11.2013 18:45
Случайные числа. Си. meta Помощь студентам 1 31.05.2011 01:48
Случайные числа severin Помощь студентам 8 02.02.2010 17:35
Случайные числа.... Teen4jump Общие вопросы Delphi 4 28.11.2008 23:52