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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.09.2010, 22:37   #1
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
Вопрос Реализация функии вероятностей?

Ребята как реализовать функцию удачной вероятности, пример:

Код:
function RandomVer(Value : byte): boolean;
begin
... 
end;

Пример использования:
Код:
   RandomVer(100); //Всегда будет выдовать true
   RandomVer(0);   //Не когда всегда false
   RandomVer(50); //50 на 50
Заранье спасибо
VintProg вне форума Ответить с цитированием
Старый 30.09.2010, 00:00   #2
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию

Код:
 RandomVer(n);
В цикле от 1 до n заполняете например массив из 100 элементов значением true.
От n до 100 значением false;
Потом берёте рандомный элемент массива, вот и результат.
zver777 вне форума Ответить с цитированием
Старый 30.09.2010, 01:23   #3
sergey.d
Пользователь
 
Регистрация: 23.08.2010
Сообщений: 98
По умолчанию

Код:
bool RandomVer(int n)
{
    return (rand() % 10000) < (n * 100);
}
sergey.d вне форума Ответить с цитированием
Старый 03.10.2010, 12:53   #4
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Код:
bool RandomVer(int n)
{
    return (rand() % 10000) < (n * 100);
}
А на дельфи как это будет выглядеть?
VintProg вне форума Ответить с цитированием
Старый 03.10.2010, 13:00   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,543
По умолчанию

result:=random(n) <=m; // m удачных случаев из n возможных
возможно random(n-1); надо уточнить (F1) реализацию random
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 03.10.2010 в 13:04.
evg_m вне форума Ответить с цитированием
Старый 03.10.2010, 15:20   #6
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию

Код:
function RandomVer(Value : byte): boolean;
begin
if random(100)+1<=Value then Result:=True else
Result:=False;
end;
zver777 вне форума Ответить с цитированием
Старый 04.10.2010, 07:32   #7
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Код:
bool RandomVer(int n)
{
    return (rand() % 10000) < (n * 100);
}

Тут еще и n умножается на 100, а как она true, false, не пойму?
VintProg вне форума Ответить с цитированием
Старый 04.10.2010, 18:16   #8
zver777
Пользователь
 
Регистрация: 31.07.2009
Сообщений: 89
По умолчанию

VintProg чем мой вариант не устраивает?
zver777 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Справка для функии пользователья barbus Microsoft Office Excel 2 22.05.2010 12:26
Реализация базы... BROOKS Помощь студентам 1 21.01.2010 17:39
Теория вероятностей Emi Свободное общение 8 22.09.2009 03:16
Реализация очереди! Lazio Помощь студентам 2 08.04.2009 17:41