| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Rand() |
| Автор: PRF 24.4.2008, 22:20 |
| Люди помогите, как вывести случайно числа из диапазона [0, 1] естественно они будут вещественными!!! Пожалуйста!! |
| Автор: MAKCim 24.4.2008, 22:28 | ||
|
| Автор: PRF 24.4.2008, 22:34 |
| в какой библиотеки находиться random() а то ошибку выдает? Добавлено через 3 минуты и 1 секунду извините я ступил, спасибо большое |
| Автор: Любитель 25.4.2008, 11:33 |
| MAKCim, какой random()? |
| Автор: bsa 25.4.2008, 15:47 | ||||||
Такой код будет исключениями сыпать лучше так:
|
| Автор: vinter 25.4.2008, 19:58 |
| bsa, так получишь целые числа |
| Автор: MAKCim 25.4.2008, 20:13 |
тот, который в <stdlib.h> по крайней мере в glibc-2.5 почему? проверил, нормально |
| Автор: bsa 25.4.2008, 20:39 | ||
| MAKCim, стандарту соответствует rand(). В не линуксах random() нет. Добавлено через 46 секунд
random() может возвращать 0? А что у нас происходит при делении на 0? |
| Автор: MAKCim 25.4.2008, 21:12 |
да? не знал всегда полагал, что в <stdlib.h> все стандартное раздели вещественное число на 0 это не приведет к SIGFPE будет inf хотя с практической точки зрения это, конечно, неправильно |
| Автор: Любитель 27.4.2008, 21:59 |
random точно не стандартен Обычно компилерозависимо. Точнее так - многие компилеры имеют опции по управлению вещественой арифметики. В том числе вместо всяких "левых" чисел могут сделать что-нить другое |
| Автор: math64 28.4.2008, 09:26 | ||
Если хотите получить равномерное распределение, нужно делать как предложил bsa. Но если число значащих цифр в double больше чем в int, нужно вызывать rand() два раза:
|
| Автор: threef 28.4.2008, 12:44 |
| Ладно, MAKCim, но ты не выполняешь условие задачи - результат в пределах 0, 1 - а это хуже, чем несоблюдение стандартов |
| Автор: MAKCim 28.4.2008, 12:46 |
| threef, я об этом писАл |
| Автор: Любитель 28.4.2008, 13:30 |
Ладно, давай так - рантайм этого компилера. |
| Автор: bsa 28.4.2008, 15:46 |
| MAKCim, в любом случае, inf не входит в диапазон [0;1] |