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

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

25.09.2011, 13:15. Показов 1894. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.09.2011, 13:15
Ответы с готовыми решениями:

Сгенерировать случайные действительные числа в заданном диапазоне
Сгенерировать число равномерно от 0 до 1-это у меня получается: int main() { double a = {...

Сгенерировать случайные числа в диапазоне от 1 до 20
Задача такова: Нужно написать рендум чисел в диапазоне например от 1 до 20 (не имеет значения). С...

Сгенерировать случайные двоичные числа в диапазоне от a до b
Помогите написать программу, даже не знаю с какой стороны к ней подойти, вот задание: Написать...

Как сгенерировать случайные числа в диапазоне от Ν до M, Z число раз
Здравствуйте. Я пишу небольшую программку и в ней мне нужно сгенерировать случайные вещественные...

2
6 / 6 / 3
Регистрация: 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
3 / 3 / 5
Регистрация: 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2011, 13:31

Помощь в написании контрольных, курсовых и дипломных работ здесь.

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

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

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

Заменить отрицательные числа на случайные в диапазоне в двухмерном массиве
Пользователь вводит массив 3х3. Программа заменяет все отрицательные элементы на случайные числа в...


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

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

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