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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.04.2019, 17:22   #1
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 735
По умолчанию C++ написать ГСЧ(генератор случайных чисел) самому, не rand()

Здравствуйте. Посоветуйте, пожалуйста, хорошую статью и программу на С++. Мне надо написать ГСЧ(генератор случайных чисел) самому, не rand(). Что-то я поисковике глянул одни rand() попадаются.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 04.04.2019, 17:30   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Видать у меня гугл другой. Статьи на вики о самом ГСЧ и лист статей о вариантах с формулами/реализацией и ссылками, статьи на хабре, и т.д.
p51x вне форума Ответить с цитированием
Старый 04.04.2019, 19:36   #3
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

использован мой алгоритм гсч вьюга

Код:
OPEN "rndsin.txt" FOR OUTPUT AS #1
c = 0
a = SIN(TIMER) * 100 + 200
PRINT #1, "a= ", a

FOR k = 1 TO 10 ^ 3 + a * 10 ^ 3: NEXT

FOR i = 1 TO 100

    FOR j = 1 TO a
        x = SIN(TIMER) * 1000 + 2000
        b = COS(x)
        c = c + b
        LOCATE 1, 1: PRINT j
    NEXT

    d = (ABS(c)) - INT(ABS(c))
    PRINT #1, d
    FOR k = 1 TO 10000 + a * b * c * 10 ^ 2: NEXT

NEXT
каждый раз выдаёт непредсказуемые данные
Код:
,945801 ,548889 ,643646	,597686 ,4181061
,617004 ,541694 ,825622 ,357814 ,1567723
,588803 ,119941 ,297721 ,663604 ,1075439
,359005 ,197265 ,933471 ,541381 ,5285645
,104492 ,609985 ,689575 ,483398 ,6025391
,288330 ,751953 ,262939 ,927002 ,9672852
,604003 ,214355 ,770019 ,239257 ,1432495
и ещё возможно использовать для гсч
переводы из разных систем счисления

и надо будет создать график в эксцель как в теме...
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 04.04.2019 в 21:10.
сфинкс вне форума Ответить с цитированием
Старый 05.04.2019, 06:26   #4
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 735
По умолчанию

Спасибо. Язык Basic я так понял?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 05.04.2019, 06:33   #5
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 735
По умолчанию

Цитата:
Сообщение от сфинкс Посмотреть сообщение
Код:
FOR k = 1 TO 10 ^ 3 + a * 10 ^ 3: NEXT
- я уже Basic забыл. Можете объяснить что в этой строке делается?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 05.04.2019, 07:26   #6
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

здесь всего лишь пауза разной продолжительности
для разбития гармонических повторов
т.к. используется таймер

вообще главные принципы:

к случайным добавляются случайные
случайное число раз
и удобны пределы синуса и косинуса
и возможны варианты

но применяя компьютерные случайные rnd
и контролируя пределы условиями
получается гораздо лучше по тем же принципам
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 05.04.2019 в 07:29.
сфинкс вне форума Ответить с цитированием
Старый 05.04.2019, 07:58   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
получается гораздо лучше по тем же принципам
По каким тем? Распределение какое?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 05.04.2019, 09:19   #8
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

"По каким тем?" /принципам/

но ведь принципы перечислены мной выше:

"вообще главные принципы"... см. выше

данный мой алгоритм всего лишь
создаёт непредсказуемые числа
и не претендует на абсолютную истину

и каждый может создавать свои алгоритмы

только народ не путайте алгоритм вообще
и реализацию для данной задачи за час
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 05.04.2019 в 10:05.
сфинкс вне форума Ответить с цитированием
Старый 05.04.2019, 09:23   #9
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 735
По умолчанию

Спасибо большое.
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Cuprum5 вне форума Ответить с цитированием
Старый 05.04.2019, 09:35   #10
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
По каким тем? Распределение какое?
Ну что вы его пугаете страшными словами - распределение... У него в главных принципах дискретный таймер и периодическая функция.
p51x вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
5.Создать файл из 100 целых чисел, лежащих на отрезке [150,9000], используя генератор случайных чисел. -Вывести эти viktoriya95 Паскаль, Turbo Pascal, PascalABC.NET 0 21.02.2014 22:36
функция генерации случайных чисел rand() в main pufystyj Общие вопросы C/C++ 4 08.02.2011 21:09
Генератор случайных чисел Костян Пират Общие вопросы Delphi 8 23.01.2011 22:08
Генератор случайных чисел psychopat Общие вопросы Delphi 11 18.02.2009 10:39
Генератор случайных чисел в СМО Shoker Помощь студентам 1 13.10.2007 08:40