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

существует ли в С++ генератор случайных не целых чисел - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
Витaлиk
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 49
06.12.2011, 23:31     существует ли в С++ генератор случайных не целых чисел #1
?????
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2011, 23:31     существует ли в С++ генератор случайных не целых чисел
Посмотрите здесь:

C++ Генератор случайных чисел
C++ генератор случайных чисел
C++ Генератор случайных чисел (с UI)
C++ Генератор случайных чисел
Генератор случайных чисел C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
06.12.2011, 23:34     существует ли в С++ генератор случайных не целых чисел #2
нееет
Dekio
Фрилансер
Эксперт C++
 Аватар для Dekio
5816 / 1214 / 214
Регистрация: 23.11.2010
Сообщений: 3,378
Записей в блоге: 1
06.12.2011, 23:34     существует ли в С++ генератор случайных не целых чисел #3
Можно написать самому. В чем проблема?
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
06.12.2011, 23:40     существует ли в С++ генератор случайных не целых чисел #4
Да, в "С++" есть все, только это все еще надо написать. Как говорит мой хороший друг, без пруда не выловишь и рыбку оттудА.
Витaлиk
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 49
06.12.2011, 23:42  [ТС]     существует ли в С++ генератор случайных не целых чисел #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// BSU 11.cpp: определяет точку входа для консольного приложения.
//
 
 
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
 
class medicine
{
    int _num;
    int _kol;
    float _cena;
    float _ves;
    static int _c;
public: 
    static int count();
    medicine();
    medicine(int _Kol_Pod){};
    medicine(int,int,float,float);
    void print() const;
};
 
int medicine::_c=0;
int medicine::count()
{
    _c++;
    return medicine::_c;
}
 
medicine::medicine()
{
    count();
    _num=_c;
    _kol=rand()%10+1;
    _cena=rand()%30+10;
    _ves=rand()%60+30;
}
 
medicine::medicine(int num, int kol, float cena, float ves)
{
    _num=num;
    _kol=kol;
    _cena=cena;
    _ves=ves;
}
 
void medicine::print() const
{
    printf("Лекарство № %d. Кол-во: %d, цена: %d, вес: %d\n", _num, _kol, _cena, _ves);
        cout << "Пустой конструктор запускался " << _c;
        if((_c == 2)||(_c == 3)||(_c == 4))
            cout << " раза\n";
        else
            cout << " раз\n";
}
 
int _tmain (int argc, _TCHAR* argv[])
{
    setlocale (LC_CTYPE,"");
    srand (unsigned (time(NULL)));
    for( ; ; )
    {
        system("cls");
        medicine o;
        o.print();
        cout<<"Запустить программу повторно? (Y or N)\n";
        char answer;
        cin >> answer;
        switch (answer)
        {
            case 'Y':
            case 'y': break;
            case 'N':
            case 'n': exit(1);
            default: cout<<"Не то ввели \n"; exit(2);
        }
    }
    return 0;
}
Добавлено через 1 минуту
Цитата Сообщение от Витaлиk Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// BSU 11.cpp: определяет точку входа для консольного приложения.
//
 
 
#include "stdafx.h"
#include <iostream>
#include <ctime>
using namespace std;
 
class medicine
{
    int _num;
    int _kol;
    float _cena;
    float _ves;
    static int _c;
public: 
    static int count();
    medicine();
    medicine(int _Kol_Pod){};
    medicine(int,int,float,float);
    void print() const;
};
 
int medicine::_c=0;
int medicine::count()
{
    _c++;
    return medicine::_c;
}
 
medicine::medicine()
{
    count();
    _num=_c;
    _kol=rand()%10+1;
    _cena=rand()%30+10;
    _ves=rand()%60+30;
}
 
medicine::medicine(int num, int kol, float cena, float ves)
{
    _num=num;
    _kol=kol;
    _cena=cena;
    _ves=ves;
}
 
void medicine::print() const
{
    printf("Лекарство № %d. Кол-во: %d, цена: %d, вес: %d\n", _num, _kol, _cena, _ves);
        cout << "Пустой конструктор запускался " << _c;
        if((_c == 2)||(_c == 3)||(_c == 4))
            cout << " раза\n";
        else
            cout << " раз\n";
}
 
int _tmain (int argc, _TCHAR* argv[])
{
    setlocale (LC_CTYPE,"");
    srand (unsigned (time(NULL)));
    for( ; ; )
    {
        system("cls");
        medicine o;
        o.print();
        cout<<"Запустить программу повторно? (Y or N)\n";
        char answer;
        cin >> answer;
        switch (answer)
        {
            case 'Y':
            case 'y': break;
            case 'N':
            case 'n': exit(1);
            default: cout<<"Не то ввели \n"; exit(2);
        }
    }
    return 0;
}
Вот хотелось бы что бы не целые (флоат) случайно выводила.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
06.12.2011, 23:58     существует ли в С++ генератор случайных не целых чисел #6
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
 
double frand(const double down, const double up)
{
   return down + 1.0 * rand() / RAND_MAX * (up - down);
}
 
int main()
{
   srand(time(NULL));
   printf("%f\n", frand(10.0, 20.0)); 
   return 0;
}
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
06.12.2011, 23:58     существует ли в С++ генератор случайных не целых чисел #7
C++
1
2
3
4
double D;
String d_str;
d_str = IntToStr( rand() % 100 ) + "." + IntToStr( rand() % 10000 );
D = StrToFloat( d_str.c_str() );
Витaлиk
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 49
07.12.2011, 00:15  [ТС]     существует ли в С++ генератор случайных не целых чисел #8
все отлично))) а можно ли сделать что бы после точки было 2 цифры??
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
07.12.2011, 00:18     существует ли в С++ генератор случайных не целых чисел #9
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
 
double frand(const double down, const double up)
{
   return down + 1.0 * rand() / RAND_MAX * (up - down);
}
 
double round_value(double value, unsigned number_count)
{
   double base = pow (10., (int)number_count);
   return floor (value * base + 0.5) / base; 
}
 
int main()
{
   srand(time(NULL));
   printf("%f\n", round_value(frand(10.0, 20.0), 2)); 
   return 0;
}
както-так
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
07.12.2011, 00:21     существует ли в С++ генератор случайных не целых чисел #10
ну, или так

C++
1
d_str = IntToStr( rand() % 100 ) + "." + IntToStr( rand() % 10 );
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
07.12.2011, 00:22     существует ли в С++ генератор случайных не целых чисел #11
BRcr, а если нужно число, а не строка?)
atoi?)
BRcr
 Аватар для BRcr
4003 / 2292 / 155
Регистрация: 03.02.2011
Сообщений: 5,064
Записей в блоге: 10
07.12.2011, 00:23     существует ли в С++ генератор случайных не целых чисел #12
нет
Цитата Сообщение от BRcr Посмотреть сообщение
C++
1
2
3
4
double D;
String d_str;
d_str = IntToStr( rand() % 100 ) + "." + IntToStr( rand() % 10000 );
D = StrToFloat( d_str.c_str() );
Витaлиk
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 49
07.12.2011, 00:41  [ТС]     существует ли в С++ генератор случайных не целых чисел #13
Alex после точки 2 числа а остальные ноли. их можно убрать?
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
07.12.2011, 00:48     существует ли в С++ генератор случайных не целых чисел #14
C
1
printf("%.2f\n", round_value(frand(100.0, 200.0), 2));
они существуют только при выводе, так сказать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2011, 01:17     существует ли в С++ генератор случайных не целых чисел
Еще ссылки по теме:

C++ Генератор случайных чисел
C++ Генератор случайных чисел

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

Или воспользуйтесь поиском по форуму:
Витaлиk
1 / 1 / 0
Регистрация: 25.10.2011
Сообщений: 49
07.12.2011, 01:17  [ТС]     существует ли в С++ генератор случайных не целых чисел #15
спасибо!! все ок!!
Yandex
Объявления
07.12.2011, 01:17     существует ли в С++ генератор случайных не целых чисел
Ответ Создать тему
Опции темы

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