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 - конечная точка

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


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

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




Репутация:   9  


Главное не забыть один небольшой момент - rand() возвращает целое число. соответственно выражение rand()/RAND_MAX вернет _целое_ число (т.е. 0) :) Так что тут нужно явное преобразование типов: double(rand())/RAND_MAX
P.S. По крайней мере у меня так было с gcc 4.2.1, может сейчас что и изменилоcь
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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




RSS Текстовая версия Сейчас: 16.1.2025, 0:57