Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
chron1c
4 / 4 / 1
Регистрация: 27.12.2009
Сообщений: 34
#1

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

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

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

Добавлено через 1 час 22 минуты
Вверх
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2010, 16:26     rand() в С для вещественных чисел
Посмотрите здесь:

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

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

Преобразование фурье для вещественных чисел - C++
Есть массив вещественных чисел. На выходе нужно получить массив комплексных через быстрое преобразование фурье. Или массив вещественных. Но...

Глобальная переменная для хранения вещественных чисел - C++
Объявите одну глобальную переменную для хранения вещественных чисел объемом 8 байт на платморфе х86 инициализируйте ее ненулевым значением...

Описать класс для работы с матрицей вещественных чисел. - C++
Здравствуйте. Помогите пожалуйста разработать программу с классами. Задание: Описать класс CFMATRIX2 для работы с матрицей ...

Создать класс для работы с двумерным массивом вещественных чисел - C++
Создать класс для работы с двумерным массивом вещественных чисел. Разработать следующие элементы класса: a. Поля: •float **FloatArray; ...

Создать класс для работы с одномерными массивами вещественных чисел - C++
#include &lt;iostream.h&gt; // заголовочные файлы стандартных #include &lt;windows.h&gt; // библиотек #define TRUE 1 // макроопределения...

Описать класс CFMATRIX1 для работы с матрицей вещественных чисел - C++
Описать класс CFMATRIX1 для работы с матрицей вещественных чисел. Класс должен реализовывать следующие операции над матрицами: сложение,...

div и mod, вернее их аналоги в C++ не подходят для вещественных чисел - C++
Всем доброго времени суток, тут возник вопрос при написании программы - есть к примеру число вида nnn.ddd - надо поменять местами дробную и...

Повторение чисел в rand() - C++
Каждый раз при запуске программы b = rand() % 10; b присваивается именно значение 7.Каждый раз.Снова и снова.Что не так? :(

Объявите четыре переменные для хранения вещественных чисел с точностью 12 значащих цифр - C++
Объявите четыре переменные для хранения вещественных чисел с точностью 12 значащих цифр внутри функции main()  ...

Rand - рандом не повторяющихся чисел - C++
Добрый вечер.Подскажите пожалуйста как сделать что бы рандомные числа не повторялись ? Понимаю что во внутрь надо положить цикл от 0 до...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MikeSoft
Эксперт С++
3791 / 1773 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
03.05.2010, 16:51     rand() в С для вещественных чисел #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 - заданная точность (размер мантиссы).
Соответственно, одним из параметров должен быть и диапазон.
chron1c
4 / 4 / 1
Регистрация: 27.12.2009
Сообщений: 34
03.05.2010, 17:00  [ТС]     rand() в С для вещественных чисел #3
Я вот как-то не могу этого понять.
rand() же даёт значение от 0 до 32767 ( точно не уверен )?
И остаток от деления на 9 может быть вне моего диапазона О.о И как это ограничить?
MikeSoft
Эксперт С++
3791 / 1773 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
03.05.2010, 17:14     rand() в С для вещественных чисел #4
chron1c, да, rand генерирует число в диапазоне [0;32767]

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

Собственно, число 9 и является ограничителем.
Изменяя этот ограничитель - вы получаете диапазон.
chron1c
4 / 4 / 1
Регистрация: 27.12.2009
Сообщений: 34
03.05.2010, 17:23  [ТС]     rand() в С для вещественных чисел #5
Спасибо, уже разобрался.
Yandex
Объявления
03.05.2010, 17:23     rand() в С для вещественных чисел
Ответ Создать тему
Опции темы

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