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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
miles_slade
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 47
#1

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

20.06.2012, 12:27. Просмотров 1257. Ответов 9
Метки нет (Все метки)

как реализовать генератор случайных чисел? чтобы можно было вводить два числа(например 56 и 519), и случайное число генерировалось из множества от 56 до 519 (в среде visual studio C++, http://www.randstuff.ru/number примерно такой )
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2012, 12:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос генератор случайных чисел (C++):

Генератор случайных чисел - C++
Здраствуййте :( int a=rand()%10000; std::cout << a; getchar(); return 0; int a=rand()%1000; std::cout << a; getchar();...

Генератор случайных чисел - C++
Еще ни разу не использовал rand(), знаю что перед ним нужно srand(time(NULL)), потому как без этого числа будут одинаковы постоянно. Но не...

Генератор случайных чисел - C++
составить генератор случайных чисел, имеющий два члена - границы последовательности. Предоставить метод, который выводит СЧ из диапазона...

Генератор случайных чисел - C++
Здравствуйте! Кто-нибудь объясните пожалуйста. Вот есть функция rand(). Она возвращает псевдослучайные числа от нуля до RAND_MAX. А можно...

Генератор случайных чисел - C++
В общем, нужно составить программу, которая реализует алгоритм генерации случайных чисел. Естественно не используя random. Перерыла массу...

Генератор случайных чисел - C++
Здравствуйте, написал вот такой генератор псевдослучайных чисел в диапазоне 0-99 и задался вопросом о его скорости. Я считываю время...

9
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
20.06.2012, 12:36 #2
если нужно сгенериривать случайное число в диапазоне от m до n то делаем так
C
1
rand()%(n-m+1)+m
0
miles_slade
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 47
20.06.2012, 12:38  [ТС] #3
нужно чтобы не именно эти числа, а вводились с клавиатуры 2 числа, и из множества между ними уже генерируется число
0
zss
Модератор
Эксперт С++
6578 / 6140 / 2021
Регистрация: 18.12.2011
Сообщений: 15,997
Завершенные тесты: 1
20.06.2012, 12:50 #4
Цитата Сообщение от miles_slade Посмотреть сообщение
вводились с клавиатуры 2 числа
C++
1
cin>>n>>m;
0
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
20.06.2012, 12:54 #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    std::cout << "vvedite dva chisla: ";
    int m,n;
    std::cin >> m >> n;
    srand(time(NULL));
    std::cout << "chislo: " << rand()%(n-m+1)+m;
    return 0;
}
http://ideone.com/XzPgS
1
miles_slade
0 / 0 / 0
Регистрация: 06.04.2010
Сообщений: 47
20.06.2012, 13:04  [ТС] #6
Цитата Сообщение от aram_gyumri Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    std::cout << "vvedite dva chisla: ";
    int m,n;
    std::cin >> m >> n;
    srand(time(NULL));
    std::cout << "chislo: " << rand()%(n-m+1)+m;
    return 0;
}
http://ideone.com/XzPgS

ввожу 2 числа, жму Enter и просто вылетаю на раб стол, не могу понять в чём дело
0
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
20.06.2012, 13:06 #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <cstdlib>
#include <ctime>
int main()
{
    std::cout << "vvedite dva chisla: ";
    int m,n;
    std::cin >> m >> n;
    srand(time(NULL));
    std::cout << "chislo: " << rand()%(n-m+1)+m;
    system("pause");
    return 0;
}
1
MrGluck
Модератор
Эксперт CЭксперт С++
7497 / 4613 / 694
Регистрация: 29.11.2010
Сообщений: 12,631
20.06.2012, 16:57 #8
как вариант:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
#include <algorithm>
#include <iterator>
#include <random>
 
int main()
{
    int a, b;
    a = 56, b = 519; //std::cin>> a>> b; 
    std::vector<int> v(5);
    std::random_device rd;
    std::mt19937 gen(rd()); 
    std::uniform_int_distribution<> uid(a, b);
    std::generate(v.begin(), v.end(), [&uid, &gen] {return uid(gen); } );
    std::copy(v.begin(), v.end(), std::ostream_iterator<int> (std::cout, " ") );
    return 0;
}
http://liveworkspace.org/code/8a74629733ba7caa73888516b884f696
1
dr.curse
389 / 345 / 16
Регистрация: 11.10.2010
Сообщений: 1,907
20.06.2012, 17:08 #9
MrGluck, а random уже в стандарте?
0
MrGluck
Модератор
Эксперт CЭксперт С++
7497 / 4613 / 694
Регистрация: 29.11.2010
Сообщений: 12,631
20.06.2012, 17:12 #10
Цитата Сообщение от aram_gyumri Посмотреть сообщение
MrGluck, а random уже в стандарте?
Да, с 11
http://en.cppreference.com/w/cpp/numeric/random
1
20.06.2012, 17:12
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.06.2012, 17:12
Привет! Вот еще темы с ответами:

Генератор случайных чисел - C++
Добрый вечер! Собственно-то тако задание: необходимо правильно задать параметры для ЛКГ и написать функцию, возвращающую случайные числа,...

Генератор случайных чисел - C++
Здорова господа! Нужно написать свой собственный генератор случайных чисел, такой же примерно как rand. От примерно написал кое...

Генератор случайных чисел (с UI) - C++
Я создал простенький генератор случайных чисел с Пользовательским Интерфейсом (GUI). Добавлено через 21 минуту Актуальна :)

Генератор случайных чисел - C++
Как написать генератор случайных (пусть и псевдо) чисел, выдающий на выходе целые случайные числа от 1 до 10 и в кол-ве 10-и и без...


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

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

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