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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 86, средняя оценка - 4.90
Sasuke
1 / 1 / 0
Регистрация: 09.10.2009
Сообщений: 89
#1

Случайные ВЕЩЕСТВЕННЫЕ числа - C++

26.11.2009, 21:49. Просмотров 12665. Ответов 15
Метки нет (Все метки)

Подскажите, как использовать rand(), чтобы он смог придать переменной случайное вещественное число.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2009, 21:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Случайные ВЕЩЕСТВЕННЫЕ числа (C++):

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

Вещественные числа - C++
Помогите сделать чтоб вещественное число было кратно 7 . Задание Выводиться последовательность из N вещественных чисел. Определить...

Вещественные числа - C++
Доброго времени суток! Возникло несколько вопросов по поводу представления дробных чисел в памяти. Первый вопрос: #include...

вещественные числа - C++
По заданным вещественным числам a0,a1,...,an,b0,b1,...,bn,c0,c1,...,cn, x,y,z вычислить: ...

Даны вещественные числа A1, A2, A3 - C++
Даны вещественные числа A1, A2, A3, ... . Признак конца последовательности число 999. Определить:разность между наибольшим числом и...

Даны вещественные числа х, у - C++
Задача 48. Даны вещественные числа х, у. Найти значение sin x при (х, у)  D; z = х + 2у при (х, у)  D. Область D задается...

15
Esc
4 / 4 / 1
Регистрация: 16.11.2009
Сообщений: 19
26.11.2009, 22:10 #2
так наверно : a = (float) rand()
0
Sasuke
1 / 1 / 0
Регистрация: 09.10.2009
Сообщений: 89
26.11.2009, 22:34  [ТС] #3
ESC, нет, это что-то не то --"
0
Жестянка
сцуко киборг
103 / 30 / 2
Регистрация: 11.09.2008
Сообщений: 193
26.11.2009, 22:50 #4
ну, например, как-то так:

float x=0.001*rand() %10000;
0
Sasuke
1 / 1 / 0
Регистрация: 09.10.2009
Сообщений: 89
26.11.2009, 22:55  [ТС] #5
Жестянка, не работает.
0
Esc
4 / 4 / 1
Регистрация: 16.11.2009
Сообщений: 19
26.11.2009, 22:55 #6
http://www.cyberforum.ru/cpp/thread5044.html
вот здесь ещё посмотри
0
Sasuke
1 / 1 / 0
Регистрация: 09.10.2009
Сообщений: 89
26.11.2009, 23:10  [ТС] #7
Esc, да я смотрел уже эту тему, но ничего толкового там не увидел. Может будут еще варианты?
0
Rififi
2359 / 1052 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
26.11.2009, 23:20 #8
Sasuke,

Подскажите, как использовать rand(), чтобы он смог придать переменной случайное вещественное число.

Boost.Random умеет генерировать случайные вещественные числа
смотреть здесь: http://www.boost.org/doc/libs/1_41_0...ributions.html
0
valeriikozlov
Эксперт С++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.11.2009, 23:42 #9
Немного переделал код, из раздела случайные числа на форуме. Переменная rang_double - задает количество знаков после запятой, которые будут случайно выбираться.
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
int main()
{        
int range_min=-20, range_max=20, rang_double=4;
srand( time( NULL ) );
double a=range_min+1+rand()%(range_max-range_min+1)-(rand()%((int)pow(10,rang_double))/pow(10,rang_double)); 
printf( "%lf\n", a );
return 0;
}
1
easybudda
Модератор
Эксперт CЭксперт С++
9681 / 5631 / 954
Регистрация: 25.07.2009
Сообщений: 10,808
27.11.2009, 01:23 #10
Ещё вариант...
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main(void){
    int i;
    
    srand(time(NULL));
    
    for ( i = 0; i < 10; i++)
        printf("%.4f\n", ((double)(rand() % 100) / (double)(rand() % 100)) * (( rand() % 2) ? 1 : -1));
        
    exit(0);
}
0
n0n4m3r
25 / 25 / 6
Регистрация: 12.10.2013
Сообщений: 183
29.11.2013, 02:22 #11
Рещил так:
float(1+rand()%100000)*pow(0.1,rand()%5);
0
textyreee
2 / 2 / 0
Регистрация: 05.01.2014
Сообщений: 82
03.05.2015, 12:29 #12
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
srand(time(NULL));
    for (int i = 0; i < N; i++)
    {
        for (int j = 0; j < M; j++)
        {
            matr[i][j] = static_cast<double>(rand() % 100) / 10;
        }
    }
    for (int i = 0; i < N; i++)
    {
        cout << endl;
        for (int j = 0; j < M; j++)
            cout << setw(5) << matr[i][j];
    }
0
Krock21rus
74 / 74 / 19
Регистрация: 18.11.2013
Сообщений: 373
Завершенные тесты: 2
03.05.2015, 12:40 #13
оговорите рамки, вещественное число от скольки до скольки?
C++
1
double r = (double)(rand()%10000)/(double)10000+(double)(rand()%10000);
случайное вещественное число от 0 до 10000

Добавлено через 50 секунд
Цитата Сообщение от n0n4m3r Посмотреть сообщение
Рещил так:
float(1+rand()%100000)*pow(0.1,rand()%5);
rand() выдаёт число до 36000)
0
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
23828 / 15820 / 4775
Регистрация: 22.10.2011
Сообщений: 27,986
Записей в блоге: 5
03.05.2015, 12:41 #14
Прямо за 5 лет ТС еще не додумался, как сгенерировать вещественное число. textyreee, на кой ты эту тему выкопал?
0
textyreee
2 / 2 / 0
Регистрация: 05.01.2014
Сообщений: 82
03.05.2015, 13:55 #15
Бывает
А вообще, я сам сегодня искал и гугл то в основном выдает запросы с CF, как старые, так и новые. Поэтому следующий человечек, который будет искать то же самое, что и я, найдет ответ здесь
0
03.05.2015, 13:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.05.2015, 13:55
Привет! Вот еще темы с ответами:

Даны вещественные числа x, y - C++
Вычислить

Вещественные числа и округление - C++
Или я туплю, или долго сижу, но вот никак не могу решить такую задачу: есть диапазон (напр. от 88 до 88.5), нужно в цикле обойти этот...

Даны вещественные числа А > 1 и В - C++
Даны вещественные числа А &gt; 1 и В. Распечатать все числа вида сi = Аi (i = 1,2,...), меньшие В. Помогите решить в C++.

вещественные числа в разные СС - C++
нужно написать программу, которая переводит вещественное число с основанием 2-16 в другое, с основанием 2-16 может у кого завалялись...


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

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

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