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

std::random_device - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Установить библиотеки Qt на C++ Builder или Visual Studio http://www.cyberforum.ru/cpp-beginners/thread700420.html
Кто-нибудь знает можно ли установить библиотеки Qt на C++ Builder или Visual Studio?
C++ Вывод круга в консоль Доброго времени суток. Подскажите как вывести круг в консоль по заданному диаметру http://www.cyberforum.ru/cpp-beginners/thread700408.html
Бинарный файл внутри получился как обычный C++
Вывожу двумерный массив в бинарный файл: ofstream binfile("D:/text.txt", ios::binary); for (int i = 0; i < Nr; i++) { for (int j = 0; j < Nc; j++){ binfile<<setw(5)<<arr;} binfile<<"\n";}
C++ Перевести объем информации в байтах в более крупные величины
Переведите в более крупные измирения информации
C++ Элементы строки больше ее суммы http://www.cyberforum.ru/cpp-beginners/thread700370.html
Привет всем) Пишу курсач по программированию. Вот такая задачка: Изначально имеем массивы А и В размерностью 3х3, вводимые с клавиатуры. А также массив С размерностью 6х6. Нужно в массив С записать все элементы матриц А и В, превышающие сумму элементов i-й строки своей матрицы. Причем приоритет при заполнении имеет матрица А. Оставшиеся элементы в матрице С - нули! Т.е. что у нас должно быть...
C++ объектно ориентированное программирование Вот задача: 1. Разработать программу, описывающую систему, приведенную в варианте, через наследование, где один класс является родителем двух других классов. Определить несколько конструкторов для каждого класса. Отслеживать корректность данных классов. 2. Изменить предыдущую программу, добавив в родительский класс виртуальные методы: 1) следующие из описания и функций системы, 2) методы... подробнее

Показать сообщение отдельно
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,426
18.11.2012, 15:09  [ТС]     std::random_device
Цитата Сообщение от alex_x_x Посмотреть сообщение
использовать ПГСЧ для инициализации ГСЧ - ну такого я еще не слышал (почему тогда просто ГСЧ не использовать?)
Никто ГПСЧ для ГСЧ не использует. Скорее ГСЧ для инициализации ГПСЧ. А просто ГСЧ нет смысла использовать все время, хватает лишь единожды, но я это уже расписывал выше.

Не по теме:

Шумы тоже имеют зависимость, все влияет на все, различна лишь степень влияния. Для решения определенных задач люди договариваются называть СЧ истинно случайными, если эта степень не превышает нужной погрешности. Некоторые физики с помощью движений и состояний атомов генерят СЧ и называют лишь их истинно случайными. У нас разные представления о связях объектов в мире. Я верю, что все взаимосвязано и все происходит так из-за стремящегося в бесконечность ряда предшествующих событий, поэтому не признаю истинно случайных чисел, лишь соглашаюсь для удобства решения задачи.



Думаю пора прекращать оффтоп. В том, что std::random_device - ГСЧ, а std::mt19937 - ГПСЧ мы сходимся во мнениях, остальное уже философия)

Подытожу, если у кого-то будет схожая с моей проблема:
std::random_device требует использование аппаратного устройства. На Linux это dev/urandom или dev/random, поэтому в реализации на gcc в конструкторе вызывается попытка инициализации данных устройств, и, если этого не удается - кидается эксепшн. При портировании на windows, MinGW еще не до конца доработали, и конструктор все так же пытается получить доступ к данным устройствам, коих естественно на винде нет, отсюда и возникает ошибка. В компиляторе VS random.h реализован по своему, подстроен под винду и все работает нормально. Также в boost/random конструктор ведет себя по разному, в зависимости от ОС, что позволяет использовать его на различных ОС. Можно сказать, что это универсальное решение. Его я и использовал, проблема решена.
 
Текущее время: 15:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru