Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> библиотека генерации случайных чисел, Посоветуйте плиззз... 
:(
    Опции темы
jhonyxakep
  Дата 18.5.2009, 02:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



Посоветуйте библиотеку для генерации случайных чисел в C++. Стандартная функция С++ srand(); & rand(); не подходят!
PM MAIL ICQ   Вверх
GoldFinch
Дата 18.5.2009, 02:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Завсегдатай
Сообщений: 2141
Регистрация: 30.11.2008

Репутация: 6
Всего: 26



boost?
самому написать? (алгоритмы несложные)
PM MAIL ICQ   Вверх
jhonyxakep
Дата 18.5.2009, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



Да алгоритмы, как-то не понятны... Я и с библиотекой time пробовал, но это было не очень удобно... Я где-то видел библиотеку от microsoft, но ссылки не-было, и названия то-же
PM MAIL ICQ   Вверх
azesmcar
Дата 18.5.2009, 08:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(jhonyxakep @  18.5.2009,  02:40 Найти цитируемый пост)
Да алгоритмы, как-то не понятны... 

http://www.gnu.org/software/gsl/manual/htm...algorithms.html
PM   Вверх
jonie
Дата 18.5.2009, 10:15 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



OpenSSL (и openSSH) вроде бы содержат свои реализации ГПСЧ, может использовать их?


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
andrew_121
Дата 18.5.2009, 10:36 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Я, не помню где, когда, и всего остального, нашел такой вот генератор. И уже долгое время пользую его. Даже в класс оформил)
Код


#ifndef __LRANDOM_H__
#define __LRANDOM_H__

#include <math.h>
#include <time.h>
#include "lglobal.h"
#include "lfile.h"

#define IA 16807
#define IM 2147483647
#define AM (1.0/IM)
#define IQ 127773
#define IR 2836
#define NTAB 32
#define NDIV (1+(IM-1)/NTAB)
#define EPS 1.2e-7
#define RNMX (IM-1)

namespace lcl {

/***************************************************************************/

class LCL_EXPORT LRandom {
friend LBaseFile& operator<< ( LBaseFile&, const LRandom& );
friend LBaseFile& operator>> ( LBaseFile&, LRandom& );
public:
    LRandom():idum(-1) {}
    LRandom( llong s ):idum(s) {}
    /**/
    inline void seed( llong s ) { idum = s; };
    llong rand() {
        int j;
        long k;
        static long iy=0;
        static long iv[NTAB];
        
        if ( idum <= 0 || !iy ) {
         if ( -(idum) < 1 )
            idum=1;
         else
             idum = -(idum);
         for ( j = NTAB + 7; j >= 0; j-- ) {
             k = (idum) / IQ;
             idum = IA * (idum - k * IQ) - IR * k;
             if ( idum < 0 )
                idum += IM;
             if ( j < NTAB )
                iv[j] = idum;
          }
         iy = iv[0];
      }
      k = (idum) / IQ;
      idum = IA * (idum - k * IQ) - IR * k;
      if ( idum < 0 ) idum += IM;
      j = iy / NDIV;
      iy = iv[j];
      iv[j] = idum;
      if ( iy > RNMX ) return RNMX;
      return iy;
   }
protected:
    llong idum;
};

/***************************************************************************/
LBaseFile& operator<< ( LBaseFile& f, const LRandom& o );
LBaseFile& operator>> ( LBaseFile& f, LRandom& o );
/***************************************************************************/

class LCL_EXPORT LRandomizeArray:public LRandom, public LVector<luint32> {
friend LBaseFile& operator<< ( LBaseFile&, const LRandomizeArray& );
friend LBaseFile& operator>> ( LBaseFile&, LRandomizeArray& );
public:
   LRandomizeArray():LRandom(),LVector<luint32>() {}
   LRandomizeArray( luint32 l ):LRandom(),LVector<luint32>( l ) {
      randomize();
   }
   /**/
   void randomize() {
      for ( LVector<luint32>::iterator it = beg(); it != end(); it++ ) {
         *it = rand();
      }
   }
   void clear() { LVector<luint32>::clear(); idum = 0; } 
};

/***************************************************************************/
LBaseFile& operator<< ( LBaseFile& f, const LRandomizeArray& o );
LBaseFile& operator>> ( LBaseFile& f, LRandomizeArray& o );
/***************************************************************************/

}; // namespace "lcl"

#endif // __LRANDOM_H__



Добавлено через 6 минут и 19 секунд
Только типы подправишь....


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
sdukshis
Дата 18.5.2009, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 23.3.2009

Репутация: нет
Всего: 1



PM MAIL   Вверх
jhonyxakep
  Дата 20.5.2009, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: 1
Всего: 8



sdukshis, я смотрел на БУСТ, но скачать не смог =( Может кто- намылить, или ссылочку на обменник дать?
PM MAIL ICQ   Вверх
bsa
Дата 20.5.2009, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(jhonyxakep @ 20.5.2009,  14:32)
sdukshis, я смотрел на БУСТ, но скачать не смог =

http://www.boost.org/users/download/
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0752 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.