Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

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

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

Ответ
 
Опции темы
Старый 08.02.2012, 00:34   #21
_Bers
Профессионал
 
Регистрация: 16.12.2011
Адрес: Москва
Сообщений: 2,225
Репутация: 982
По умолчанию

Цитата:
Сообщение от Хагель Посмотреть сообщение
Ну то есть:
Код:

int rand_value;
void rand_int(int x) {  srand(time(NULL));  rand_value = 1 + rand()%x; }

Нет ни одной причины заводить отдельную функцию-инициализатор.
И уж тем более, нет ни одной причины захламлять глобальное пространство дополнительными именами. Это - не красиво
Можно сразу пользоваться благами цивилизации:

Код:

int random(int least, int greatest)
{
    static int seed(  (srand(  (size_t)time(NULL)  ), 0)  );    //инициализируется только один раз 
    return rand() % (greatest - least) + least;
}


int main()
{
    int rnd = random(1,6); //рандом сам проинициализируется,
                                   //причем только 1 раз,
                                   // и уже начнет возвращать значения.

При желании, можно сделать тоже самое, только независящее от стандартной библиотеки с++.

Все что понадобится - это собственная конгруэнтная формула.
_Bers вне форума   Ответить с цитированием
Старый 18.02.2012, 21:55   #22
rmv240899
Форумчанин
 
Регистрация: 18.02.2012
Адрес: Украина
Сообщений: 155
Репутация: 21
По умолчанию

Можно сделать так: сначала генерируешь 6 целых чисел, потом 3 из них преобразовываешь в char. А потом ставишь проверку на повторение - если повторяется - генерируешь заново и т.д. пока не станет нормально
rmv240899 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Random Febreze Общие вопросы Delphi 2 28.04.2008 14:17
random Forrest Gamp Общие вопросы C/C++ 4 11.02.2008 10:46
Random -10 +10 Veiron Общие вопросы Delphi 1 23.01.2008 18:23
Random Constellation БД в Delphi 2 10.01.2008 22:37
random Sanek_ntsk Общие вопросы Delphi 8 17.12.2007 22:54


20:45.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru