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

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

Войти
Регистрация
Восстановить пароль
 
botasa
3 / 3 / 0
Регистрация: 18.01.2011
Сообщений: 131
#1

Сгенерировать случайные числа с плавающей точкой в заданном диапазоне, включающем и отрицательные значения - C++

25.09.2011, 13:15. Просмотров 450. Ответов 2
Метки нет (Все метки)

возникла проблема, не могу решить... раньше когда пользовался функ.
C++
1
( x + rand() % x )
с целыми числами было все хорошо, но у меня есть задача, там надо точки в диапазоне от -1 до 1
то есть например : чтоб не превышало -1 с 10 точкой, до 1 с десятичной точкой ... например : -0.56, -0.99 и так дальше не выше -1.00 и с плюсом также 0.56, 0.23, 0.99 и до 1.00... Использовал числа от -10, -100 до 10, 100 и делил на 100, чтоб получить такой диапазон, но всегда получал или числа с - или с + ...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2011, 13:15
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сгенерировать случайные числа с плавающей точкой в заданном диапазоне, включающем и отрицательные значения (C++):

Как сгенерировать случайные числа в заданном интервале? - C++
как правильно сгенерировать вещественный массив на промежутке mas = (float)(rand()%20001)/50); вроде правильно сделал, а в компиляторе...

Случайные числа в заданном диапазоне - C++
Подскажите как написать программу, которая генерирует последовательность из N случайных чисел в диапазоне от 1 до 10, выводит эти числа на...

Записать в вектор случайные числа в заданном диапазоне - C++
нужно записать в вектор от 10 до 15 случайных чисел от -10 до 10 сделал вот так #include <iostream> #include <string> ...

Конструирование значения целого числа или числа с плавающей точкой по его дампу - C++
Как сконструировать значения целого числа(char, short int, long int) или числа с плавающей точкой(float,double) по его дампу(bin,oct,hex)??

Случайным образом сгенерировать массив из 20 чисел (в заданном диапазоне) - C++
Создать программу на С++, в которой случайным образом генерируется массив из 20 чисел (в диапазоне от -50.0 до 40.0) типа float....

Сгенерировать случайные числа - C++
Ребята, интересует такой вопрос. Ниже представлен кусок кода, который, так сказать, генерирует мат. модель для пакета LP-solve, где...

2
vortexx1
6 / 6 / 2
Регистрация: 06.03.2011
Сообщений: 269
25.09.2011, 13:23 #2
Сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
 
int main ()
{
    srand ( time ( 0 ) );
    
    double random;
    
    random = -100 + rand() % 200;
    
    cout << random / 100 << endl;
    
    system ( "pause" );
    return 0;
}
Тут вроде собака была зарыта в задаваемом диапазоне. Как, например
C++
1
1 + rand() % 5;
будет выдавать числа от 1 до 5, а
C++
1
0 + rand() % 5
будет выдавать числа от 0 до 4 (а не до 5).
1
botasa
3 / 3 / 0
Регистрация: 18.01.2011
Сообщений: 131
25.09.2011, 13:31  [ТС] #3
Цитата Сообщение от vortexx1 Посмотреть сообщение
Сделал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
 
int main ()
{
    srand ( time ( 0 ) );
    
    double random;
    
    random = -100 + rand() % 200;
    
    cout << random / 100 << endl;
    
    system ( "pause" );
    return 0;
}
Тут вроде собака была зарыта в задаваемом диапазоне. Как, например
C++
1
1 + rand() % 5;
будет выдавать числа от 1 до 5, а
C++
1
0 + rand() % 5
будет выдавать числа от 0 до 4 (а не до 5).
спс я в этим в курсе мне было надо только вот random =
C++
1
-100 + rand() % 200;
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2011, 13:31
Привет! Вот еще темы с ответами:

Точность числа с плавающей точкой - C++
У типа float числа одинарной точности с плавающей запятой обеспечивают относительную точность 7-8 десятичных цифр. Внимание, вопрос!...

Вывод числа с плавающей точкой - C++
Доброго всем времени суток. Пытаюсь вывести число с плавающей запятой на LCD. long int Eb = 0x5959; char st_Ebf = &quot;&quot;; ...

Усечение числа с плавающей точкой - C++
Доброго времени суток! Собсно сабж. floor(v*1000)/1000 не помогает, обнуляется только несколько знаков после запятой, а остальные...

Округлить числа с плавающей точкой - C++
Подскажите почему работает неправильно! Не округляет, а выдает только числа до запятой! Исправьте пожалуйста!! Вот задание: Строка...


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

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

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