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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2013, 21:51   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
Сообщение от Poma][a Посмотреть сообщение
Хех вероятность того что я выйграю равно 10*(20/80) = 2.5 . Я побежал скупать лотерейные билеты
Ромаха, а где продают? Забил очередь
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 25.10.2013, 21:52   #12
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

Я Вам займу, если после меня что-то останется
Poma][a вне форума Ответить с цитированием
Старый 25.10.2013, 22:06   #13
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ромаха, а где продают? Забил очередь
Это не вероятность выигрыша, а вероятность выпадения единственной цифры в 10 - турах.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 25.10.2013 в 22:35.
Smitt&Wesson вне форума Ответить с цитированием
Старый 26.10.2013, 00:52   #14
v.chertov
Новичок
Джуниор
 
Регистрация: 25.10.2013
Сообщений: 10
По умолчанию

ребят представьте себе как вы говорили лотерею компьютерную, где выпадают 20 чисел из 80 в случаянном порядке, суть что надо записывая 10 игр подряд чтобы посчитать % чисел следующего розыгрыша. вот допустим:
1раунд выпали числа: 2,6,55,21,66,80,1,6,9,65,64,22,33,6 9,45,79,78,76,75,28.
2раунд выпали числа: 1,2,3,4,5,56,57,58,59,60,11,66,51,1 2,13,15,69,33,28,39.
.....
10й выпали числа:58,59,69,45,3,4,5,56,33,28,39 ,11,12,77,79,61,59,27,47,74

надо ввести эти числа в таблицу и при нажатии кнопки далее выдавался результат возможных следующих чисел тоесть:
число 1 выпадет с вероятностью 94%
число 55 выпадет с вероятностью 99%
число 3 выпадет с вероятностью 90%
вот так вот надо сделать! ну и конечно чтобы проценты сортировались от большего к меньшему.
v.chertov вне форума Ответить с цитированием
Старый 26.10.2013, 06:05   #15
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

В данной постановке вопроса, задача решается при помощи теоремы Байеса с вычислением априорных и апостериорных вероятностей.
Теорема Байеса - P(H:E) = P(P:H)*P(H)/P(E).
Априорная вероятность - P(H:E) = P(E:H)*P(H)/P(E:H)*P(H)+P(E:не H)*P(не H)
Апостериорная вероятность - P(H:не E) = P(не E:H)*P(H)/(P(не E:H)*P(H)+P(не E:не H)*P(не H)).
Шансы O(E) = P(E)/(1-P(E)) и P(E) = O(E)/(1+O(E)).
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 26.10.2013, 08:38   #16
v.chertov
Новичок
Джуниор
 
Регистрация: 25.10.2013
Сообщений: 10
По умолчанию

круто, но я не ченгошиньки не понял! программу сможет ктонить написать?
v.chertov вне форума Ответить с цитированием
Старый 26.10.2013, 10:22   #17
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Мне вообще кажется, что задача состоит в том, чтобы 10 раз "кинуть кубики", получив по 20 чисел, после чего найти вероятности выпадения этих чисел, поделив число их "выпадений" на 10, и вывести наиболее вероятные.
Рассмотрю на числах 1, 2, 3:
Первый раз кинули кубик, получили 1, в результате число 1 выпало 1 раз, 2 - 0, 3 - 0.
Второй раз получили 2, => 1 - 1, 2 - 1, 3 - 0.
Третий раз получили 1, => 1 - 2, 2 - 1, 3 - 0 и т.д. n раз.
Потом делим число выпадений на n (для n = 3 будет следующее: вероятность 1 - 2/3, вероятность 2 - 1/3, вероятность 3 - 0/3).
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 26.10.2013, 10:55   #18
v.chertov
Новичок
Джуниор
 
Регистрация: 25.10.2013
Сообщений: 10
По умолчанию

ребята напишите пожалуйста программу! за работоспособную программу с исходником как и писал выше могу заплатить правда не много!
v.chertov вне форума Ответить с цитированием
Старый 26.10.2013, 11:24   #19
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Тут ещё с алгоритмом не разобрались, а уже писать чё-то.
Понятно, матрица 20х10 заполненная случайными числами из ряда 1-80.
Что с этими числами делать? По какому алгоритму вычислять вероятность. И почему у Вас вероятность появления каждого числа в матрице = 99%? Что-бы это значило?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 26.10.2013, 11:42   #20
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
Мне вообще кажется, что задача состоит в том, чтобы 10 раз "кинуть кубики", получив по 20 чисел, после чего найти вероятности выпадения этих чисел,
+1 20 символов

Код:
const
  KT = 10;

var
  v: array[1..3, 1..80] of real;
  mn: set of byte;
  B: byte;
  i, j, k: byte;
  f: boolean;

procedure Swap(var a, b: real);
var
  t: real;
begin
  t := a;a := b;b := t;
end;

begin
  Randomize;
  for i := 1 to 80 do
  begin
    v[1, i] := i;
    v[2, i] := 0;
    v[3, i] := 0;
  end;
  for i := 1 to KT do
  begin
    mn := [];
    for j := 1 to 20 do
    begin
      repeat
        k := random(80) + 1;
      until not (k in mn);
      mn := mn + [k];
      V[2, k] := V[2, k] + 1;
    end;
  end;
  for i := 1 to 80 do
    v[3, i] := v[2, i] / KT;
  
  f := true;
  while f do 
  begin
    f := false;
    for i := 1 to 79 do
      if v[3, i] < v[3, i + 1] then begin
        for j := 1 to 3 do
          swap(v[j, i], v[j, i + 1]);
        f := true;
      end;
  end;
  for i := 1 to 80 do // первые 20 и есть ваш 11 тираж
    writeln(v[1, i], '==>', v[3, i]);
end.
но 0.7 это максимум чего я видел
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 26.10.2013 в 12:06.
Mad_Cat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12
Паскаль Задачи. примерно 10 буду рад если решите... желательно с блок схемами. Буду сильно благодарен. Азарт Помощь студентам 8 26.03.2009 23:51