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

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

Восстановить пароль Регистрация
 
botasa
3 / 3 / 0
Регистрация: 18.01.2011
Сообщений: 131
25.09.2011, 13:15     Сгенерировать случайные числа с плавающей точкой в заданном диапазоне, включающем и отрицательные значения #1
возникла проблема, не могу решить... раньше когда пользовался функ.
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, чтоб получить такой диапазон, но всегда получал или числа с - или с + ...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2011, 13:15     Сгенерировать случайные числа с плавающей точкой в заданном диапазоне, включающем и отрицательные значения
Посмотрите здесь:

Случайные числа в заданном диапазоне C++
Усечение числа с плавающей точкой C++
Точность числа с плавающей точкой C++
C++ Случайным образом сгенерировать массив из 20 чисел (в заданном диапазоне)
Сгенерировать случайные числа C++
Округлить числа с плавающей точкой C++
Конструирование значения целого числа или числа с плавающей точкой по его дампу C++
C++ Вывод числа с плавающей точкой

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vortexx1
 Аватар для 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).
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;
Yandex
Объявления
25.09.2011, 13:31     Сгенерировать случайные числа с плавающей точкой в заданном диапазоне, включающем и отрицательные значения
Ответ Создать тему
Опции темы

Текущее время: 18:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru