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

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

Войти
Регистрация
Восстановить пароль
 
Owen04
5 / 5 / 3
Регистрация: 25.12.2009
Сообщений: 144
#1

Случайные числа! random() - C++

16.11.2012, 18:57. Просмотров 783. Ответов 5
Метки нет (Все метки)

Доброго время суток!
У меня возник вопрос, как сделать рандом от -0,3 до 0,3!

Из за того, что ничего нормального не нашел, делал так:
C++
1
2
3
4
5
int i=rand()%7; // от 0 до 6
 if (i<4)
  x=i/10;  //если i=(1) (2) или (3), то x будет 0,1 0,2 0,3
  else
  x=-(0,7-i/10); //если i=(4) (5) или (6), то x будет (-0,3) -0,2 (-0,1)
Но хотел бы узнать как правильно!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2012, 18:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Случайные числа! random() (C++):

Нужно чтобы случайные числа вставали в конец массива,а не удаляли числа - C++
#include &lt;iostream&gt; using namespace std; void main() { setlocale(LC_ALL, &quot;Russian&quot;); int n; // кол-во элементов массива ...

случайные числа - C++
подскажите как сформировать двумерный массив случайных чисел в заданном диапозоне которые не повторяются

Случайные числа - C++
Всем доброго времени суток, я чёт туплю, подскажите, как посчитать сколько чисел сгенерированных случайным образом в диапазоне попадают в...

Случайные числа в C++ - C++
нужно присвоить переменной числа от -50 до 50, как сделать?

случайные числа - C++
Всем привет! нужна ваша помощь. мне нужно реализовать функцию, которая заполняет двумерный массив mat случайными числами. на сколько я...

Случайные числа - C++
int main() { srand(time(0)); int a = rand()%100; cout &lt;&lt; a &lt;&lt; endl; system(&quot;pause&quot;); } Есть вот такой способ задания...

5
Croessmah
Эксперт CЭксперт С++
13408 / 7558 / 853
Регистрация: 27.09.2012
Сообщений: 18,590
Записей в блоге: 3
Завершенные тесты: 1
16.11.2012, 19:01 #2
как вариант генерируйте от -300 до 300 и делите на 1000
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
16.11.2012, 19:13 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <random>
#include <ctime>
#include <iostream>
 
int main()
{
   std::mt19937 gen(time(0));
   std::uniform_real_distribution<> dist(-0.3, 0.3);
   for (size_t i = 0; i < 10; ++i)
   {
        std::cout << dist(gen) << std::endl;
   }
}
http://ideone.com/DSJHI2
1
Kuzia domovenok
1891 / 1746 / 118
Регистрация: 25.03.2012
Сообщений: 5,926
Записей в блоге: 1
16.11.2012, 19:38 #4
Десятичные дроби вводятся через точку.
Запятая - это другой оператор, возвращающий значение правого операнда
в результате получите х=-(7-i/10)=-7
так как деление целочисленное
(об этом, похоже ты тоже забыл).
0
Owen04
5 / 5 / 3
Регистрация: 25.12.2009
Сообщений: 144
16.11.2012, 20:18  [ТС] #5
Это я случайно нажал "," )

Тут писал кусок кода, а не вставлял
0
Хулиган
85 / 80 / 12
Регистрация: 08.08.2012
Сообщений: 737
16.11.2012, 20:18 #6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <ctime>
#include <vector>
using namespace std;
 
int main() {
    srand(time(NULL));  
    vector<double> r;  //ñîçäГ*ВёГ¬ ГЄГ®Г*ГІГҐГ©Г*ГҐГ° êîòîðûé áóäåò ñîäåðæГ*ГІГј ГўГ±ГҐ âîçìîæГ*ûå Г§Г*Г*Г·ГҐГ*ГЁГї äëÿ Г*Г*ГёГЁГµ ïðåäåëîâ
    double pr1, pr2, i;
    cout<<"Ââåäèòå ïðåäåëû pr1, pr2:";  // ââîäèì ïðåäåëû
    cin>>pr1>>pr2;
    
    for(double i=pr1; i<=pr2; i=i+0.1) {  // Г§Г*ïîëГ*ГҐГ*ГЁГҐ ГЄГ®Г*ГІГҐГ©Г*ГҐГ°Г*
              r.push_back(i);
              }
    vector<double>::iterator ini, end;
    ini=r.begin();
    end=r.end();
    random_shuffle(ini, end);  //  ГІГіГ±ГіГҐГ¬ ГЄГ®Г*ГІГҐГ©Г*ГҐГ°
    cout<<"random:"<<r[1];   //  ГўГ»ГўГ®Г¤ГЁГ¬ ïåðâûé ýëåìåГ*ГІ, ГЄГ*æäûé Г°Г*Г§ âûâîäèòñÿ Г§Г*Г*Г·ГҐГ*ГЁГҐ îòëè÷Г*îå îò ïðåäûäóøåãî
  
}
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2012, 20:18
Привет! Вот еще темы с ответами:

Случайные числа - C++
Подскажите функцию(или класс а вней функцию) для генерирования случайных чисел аналог Random.Next() C#

случайные числа - C++
rand() в VS имеет диапазон от 0 до 32768? даже изменение RAND_MAX ничего не повысит верхний уровень?

Случайные числа. - C++
Есть числа 2,4,6,8,0 - из них нужно случайно выбрать одно. Как это сделать? Google'ил, нашел только что то по типу #include &lt;stdlib.h&gt; ...

случайные числа - C++
как заполнить массив случайными числами например от -50 до 50 void generate(int mas,int n){ for(int i=0;i&lt;n;i++) mas=(rand()%50)-50; ...


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

Или воспользуйтесь поиском по форуму:
6
Yandex
Объявления
16.11.2012, 20:18
Ответ Создать тему
Опции темы

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