Здравствуйте Yaroslav, вы писали:
Y>Привет Y>Нужна прога генерации случайных чисел по экспотенциальному закону Y>буду очень благодарен, если вы пришлете мне её на мыло Y>adating@ukrpost.net
Y>Best Regards Y>Yaroslav
Пример одной такой,
но она с имеет пару глюков, если кто может исправит.
class histogram{
public:
histogram(int pcount, int pbottom, int pheight, int pleft);
void setValue(int pvalue, int pcount);
inline void setAxisX(int value) {axisX = value;}
int getValue(int pcount);
void draw();
~histogram();
private:
int count;
int bottom;
int height;
int left;
int *pcolumns;
int axisX;
};
histogram::histogram(int pcount, int pbottom, int pheight, int pleft)
{
if (pcount > 0 && pcount < 81)
{
count = pcount;
pcolumns = new int[count];
for (int i = 0; i < count; i++) pcolumns[i] = 0;
}
if (pbottom > 0) bottom = pbottom;
if (pheight > 0) height = pheight;
if (pleft > 0) left = pleft;
axisX = 1;
}
histogram::~histogram()
{
if (pcolumns != NULL) delete pcolumns;
}
void histogram::draw()
{
int max=0;
int ii = 0,f=0;
for (int i=0;i<count;i++) {if (pcolumns[i]>max) max=pcolumns[i];}
for (i = 0; i < count; i++)
{
int bound = ((height-1)*pcolumns[i]/max);
l1: char fill = '-';
for (int j = 0; j < bound; j++)
{
goto xy; (ii+left, bottom — j-1);
putch(fill);
}
fill = ' ';
for ( j = bound; j < height-1; j++)
{
goto xy; (ii+left, bottom — j-1);
putch(fill);
}
ii++;
if ((79-left)/count&&!f) {f = ((79-left)/count-1);goto l1;}
if (--f) goto l1;
goto xy; (ii+left, bottom);
putch('.');
Здравствуйте Yaroslav, Вы писали:
Y>Извините я немного не разобрался программа Y>не имеет ошибок она просто была написана под Y>досовский борланд! Y>Ярослав
Здравствуйте Yaroslav, Вы писали:
Y>Привет Y>Нужна прога генерации случайных чисел по экспотенциальному закону Y>буду очень благодарен, если вы пришлете мне её на мыло adating@ukrpost.net
Проги у меня нету :( но, если я не ошибаюсь, имея возможность сгенерировать равномерно распределённую случайную величину, ты можешь подставить её в формулу нужного тебе закона и получить что требуется, в частности — экспоненциальный.
----
With best regards, Kot Burov aka W@ndERR ®
UIN: 108043419
--------
Здравствуйте Kot, Вы писали:
Kot>Проги у меня нету :( но, если я не ошибаюсь, имея возможность сгенерировать равномерно распределённую случайную величину, ты можешь подставить её в формулу нужного тебе закона и получить что требуется, в частности — экспоненциальный.
Вы совершенно правы. Пусть X — равномерно распр. на отрезке [0,1], тогда для функции распределения f(y)=c*exp(-c*y) имеем Y=(1/c)*ln(X). Y — распределено показательно...
Здравствуйте Yaroslav, Вы писали:
Y>Привет Y>Нужна прога генерации случайных чисел по экспотенциальному закону Y>буду очень благодарен, если вы пришлете мне её на мыло Y>adating@ukrpost.net
Y>Best Regards Y>Yaroslav