Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2020, 17:49   #1
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию Случайное число из миллисекунд на c++

Я слышал что случайные числа надо генерировать из миллисекунд на c++ .Надо сгенерировать в диапазоне (1,2)
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Старый 28.01.2020, 19:24   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

"Надо" ? Это кому надо? Обычно генерируют псевдослучайную последовательность чисто математическими методами, что и делают встроенные в ЯП рандомные функции. Если надо именно случайную, то можно пользоваться и системным таймером, и любыми другими физическими устройствами - да хоть счетчиком радиоактивности Гейгера-Мюллера.
Цитата:
Я слышал
, что внутри земного шара есть шар гораздо большего диаметра. Только об этом - никому!

Последний раз редактировалось digitalis; 28.01.2020 в 19:26.
digitalis вне форума Ответить с цитированием
Старый 28.01.2020, 20:30   #3
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Таймер это не случайный процесс. К тому же одна миллисекунда тянется очень долго (всего-то тысячная секунды). Если таким образом сгенерировать два числа подряд, то за это время таймер не изменится. Как быть?
Arigato вне форума Ответить с цитированием
Старый 29.01.2020, 07:30   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

я бы брал системное время, (часы-минуты) - переводил бы в число А. (секунды-миллисекунды) переводил бы в число B. а потом делил бы A/B - на выходе получалось бы некоторое число, а вот если оно больше единицы или намного меньше - там уже можно по желанию умножать на 100, 10, 0.1, 0.01, чтоб подогнать под вид 0,475760901009465.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 29.01.2020, 09:42   #5
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Случайное время из таймера можно взять в качестве начального значения (randomize), а дальше умножать его на К и брать по модулю М, где К и М - нечетные и не кратные числа. Интервал апериодичности будет зависеть от М - так себе ГПСЧ, но для учебных задач сойдёт.
digitalis вне форума Ответить с цитированием
Старый 30.01.2020, 12:24   #6
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию

Код:
#include<iostream>
#include<cstdlib>
using namespace std;
int main()
{
int v=rand()% 10+1;
cout<<(v);
return 0;
}
Код запустил в приложении CppDroid на планшете.
Компилятор пишет "5" после первой компиляции, и "5" после следующих компиляций.куда надо вставить "time" или "timer"?
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Старый 30.01.2020, 12:37   #7
Lektorfuja
Форумчанин
 
Аватар для Lektorfuja
 
Регистрация: 04.11.2016
Сообщений: 355
По умолчанию

Вот верный ,работающий код (!) :
Код:
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int main()
{
srand(time(NULL));
cout<<(rand()%10)+1;
return 0;
}
Ура!
мой блог :patreon.com/hopkins1988 . facebook группы:"программирование на Андроид","
"Программирование чистый код"
Lektorfuja вне форума Ответить с цитированием
Старый 30.01.2020, 15:11   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от Lektorfuja Посмотреть сообщение
Ура!
Ну нифигасе, а что, так можно было?!
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Случайное число на c++ Lektorfuja Помощь студентам 4 06.12.2016 16:30
Случайное число от -10 до 10 Banner Общие вопросы C/C++ 3 23.02.2012 16:28
Случайное число. Alex Cones Свободное общение 27 06.06.2010 09:54
случайное число Дініс Общие вопросы C/C++ 3 07.10.2009 23:03
Случайное число Altera Общие вопросы Delphi 4 05.02.2008 22:22