1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 40
1

Как сгенерировать случайные числа в диапазоне от Ν до M, Z число раз

02.04.2013, 00:19. Показов 3065. Ответов 4
Метки нет (Все метки)

Здравствуйте. Я пишу небольшую программку и в ней мне нужно сгенерировать случайные вещественные числа в определенном диапазоне (например от 140 до 160) 100000 раз. Стандартные функцию не подходят, пытался использовать библиотеки boost random,но не удалось подключить их к Embarcadero RAD Studio XE2. Буду очень признателен если кто то поможет.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2013, 00:19
Ответы с готовыми решениями:

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

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

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

Сгенерировать случайные числа с плавающей точкой в заданном диапазоне, включающем и отрицательные значения
возникла проблема, не могу решить... раньше когда пользовался функ. ( x + rand() % x ) с целыми...

4
LK
Заблокирован
02.04.2013, 00:34 2
NikWhite, небольшое уточнение - что конкретно интересует:
- сгенерировать случайные вещественные числа?
- boost random подключить к Embarcadero RAD Studio XE2 ?
1
1568 / 504 / 48
Регистрация: 04.04.2009
Сообщений: 1,891
02.04.2013, 02:12 3
NikWhite,
Цитата Сообщение от LK Посмотреть сообщение
сгенерировать случайные вещественные числа
Цитата Сообщение от NikWhite Посмотреть сообщение
(например от 140 до 160) 100000 раз
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
double dblRand(double min, double max) {
 
    double x=(double)rand()/RAND_MAX;
    return min+x*(max-min);
 
}
 
// ---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) {
 
    ListBox1->Clear();
    randomize();
 
    int lim = 100000; // число можно и поскромнее поставить, либо использовать для 
                      // вывода массива нечто другое :)
 
    while (lim--)
        ListBox1->Items->Add(FloatToStr(dblRand(140, 160)));
 
}
1
1 / 1 / 0
Регистрация: 02.04.2013
Сообщений: 40
02.04.2013, 09:54  [ТС] 4
The_Immortal,Спасибо, но код не компилируется выдает ошибку "[ILINK32 Error] Error: Unable to perform link",пытался перезапустить и очистить проект-не помогло.

LK, Меня интересует, в принципе и то и другое, просто я нашел такую вещь, но подключить к проекту не удалось, выдавало очень много ошибок при компиляции в файлах boost.

Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <boost/random/mersenne_twister.hpp>
#include <boost/random/uniform_real.hpp>
 
int main() {
  boost::mt19937 generator;
  
  boost::uniform_real<> distribution(0.0, 1.0);
 
  const int count = 100;
  for(int i = 0; i < count; ++i)
     std::cout << distribution(generator) << std::endl;
     
  return 0;
}
0
LK
Заблокирован
02.04.2013, 10:08 5
Цитата Сообщение от NikWhite Посмотреть сообщение
выдавало очень много ошибок при компиляции в файлах boost.
- NikWhite, по правилам форума, в одной теме может рассматриваться только один вопрос. Создайте другую тему относительно ваших трудностей с boost, обрисуйте там проблему, процитируйте полученные ошибки.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2013, 10:08
Помогаю со студенческими работами здесь

Как сгенерировать случайные числа?
Как сгенерировать случайные числа?

Сформировать массив, случайные числа, в диапазоне от 10 до 20. Подсчитать сумму элементов >=15 и их число
3)Сформировать массив из 20 элементов, случайные числа, в диапазоне от 10 до 20. Подсчитать сумму...

Как сгенерировать такие случайные числа?
4287709036.32353 5765613642.35294 7896396583.23529 и как перевести такое число в...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru