Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 08.02.2012, 00:34   #21
_Bers
Профессионал
 
Регистрация: 16.12.2011
Адрес: Москва
Сообщений: 2,239
Репутация: 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


10:26.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

RusProfile.ru


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