Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
4 / 4 / 1
Регистрация: 27.12.2009
Сообщений: 34
1

rand() в С для вещественных чисел

03.05.2010, 16:26. Просмотров 2106. Ответов 4
Метки нет (Все метки)

Сабж. Как?
Нужен еще и диапазон.
С целыми то понятно: rand()%<max-min+1> + <min>;

Добавлено через 1 час 22 минуты
Вверх
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2010, 16:26
Ответы с готовыми решениями:

Rand для сверхмалых чисел
Приветствую, требуется создать сверх малое рандомное число от 0.0000001 до 0.9999999 Обычными...

Код для нахождения прямого кода для вещественных чисел
#include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; void cvbnm(double k, double f) {...

Написать код для сортировки выбором для вещественных, целых чисел и латинских букв
здравствуйте! помогите написать код для сортировки выбором на си для вещественных, целых чисел и...

Перегруженные функции для сложения вещественных чисел; для сложения комплексных чисел
Написать перегруженные функции и основную программу, которая их вызывает. для сложения...

4
Эксперт С++
3936 / 1801 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
03.05.2010, 16:51 2
chron1c, а что вам мешает немножко модифицировать работу rand ?
Самая простая реализация, которая сразу пришла мне в голову:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//---------------------------------------------------------------------------
#include <iostream.h>
//---------------------------------------------------------------------------
int main()
{
    srand(time(NULL));
    float r = 0.0;
    r += rand()%9;
    r += (rand()%9)/10.0;
    r += (rand()%9)/100.0;
    r += (rand()%9)/1000.0;
 
    cout << r << endl;
    system("pause");
    return 0;
}
//---------------------------------------------------------------------------
Если хотите, переделайте деление и вынесите его в рекурсивную функцию. Вызывать её нужно N-раз, где N - заданная точность (размер мантиссы).
Соответственно, одним из параметров должен быть и диапазон.
1
4 / 4 / 1
Регистрация: 27.12.2009
Сообщений: 34
03.05.2010, 17:00  [ТС] 3
Я вот как-то не могу этого понять.
rand() же даёт значение от 0 до 32767 ( точно не уверен )?
И остаток от деления на 9 может быть вне моего диапазона О.о И как это ограничить?
0
Эксперт С++
3936 / 1801 / 184
Регистрация: 21.11.2009
Сообщений: 2,540
03.05.2010, 17:14 4
chron1c, да, rand генерирует число в диапазоне [0;32767]

C++
1
r = rand()%9;
Данный код генерирует псевдослучайное число в диапазоне [0;9]

Собственно, число 9 и является ограничителем.
Изменяя этот ограничитель - вы получаете диапазон.
1
4 / 4 / 1
Регистрация: 27.12.2009
Сообщений: 34
03.05.2010, 17:23  [ТС] 5
Спасибо, уже разобрался.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.05.2010, 17:23

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Выражение для вещественных чисел
Здравствуйте! Мне в программе нужно проверять, что введенное число - вещественное, причем в...

srand для вещественных чисел
Здравствуйте! Необходима генерация случайных вещественных чисел (double, float). Функция srand...

Программа для генерации вещественных чисел
Нужна код программы на СИ для генерации вещественных чисел(отрицательных и положительных). Вот что...

Границы Random для вещественных чисел
В общем заполнить или сгенирировать вещественное число в нужном мне диапазоне? Random.NextDouble()...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.