crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> как получить случайное число в заданном диаппазоне?
Litkevich Yuriy
  опции профиля:
сообщение 2.3.2009, 17:42
Сообщение #1


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


В Си это дело определяется следующими вещами:
int rand(void) - генератор
void srand(unsigned int) - стартовая точка
RAND_MAX - конечная точка

как задать конечную точку в рантайме?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Litkevich Yuriy
  опции профиля:
сообщение 2.3.2009, 18:02
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


я вот так сделал:
int yrandom(int minval, int maxval)
{
  int tmp;

    if (!minval) minval=1;
    if (!maxval) maxval=1;
    
    srand(minval);

    tmp = (maxval * rand()/RAND_MAX);

    qDebug() << "maxval=" << maxval
             << "minval=" << minval
             << "tmp=" << tmp;
    return tmp;
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fsMark
  опции профиля:
сообщение 2.3.2009, 18:21
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 97
Регистрация: 23.4.2008
Из: г. Киров
Пользователь №: 155

Спасибо сказали: 10 раз(а)




Репутация:   1  


А ты уверен что это будет нормальное распределение?.. мозги пухнут (конец рабочего дня) - немогу понять.

Сообщение отредактировал fsMark - 2.3.2009, 18:22
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


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




RSS Текстовая версия Сейчас: 5.5.2024, 14:33