-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532

Шанс. Создать шанс

31.03.2013, 22:14. Показов 13976. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Кто посоветует, кто предложит пряморукий, нормальный, рабочий вариант реализации шанса.
Цель: Создать программу которая будет рассчитывать шанс чего либо в зависимости от жизненных шансов человека.
В зависимости от его везения, этичности, желания, согласия на % риска. Это всё на его усмотрение. В общем изночально будет создоваться профиль человека в котором будут первые 3 пункта изночально вписаны. И при задании вопроса программе человек будет выберать примерно с чем связан вопрос(Этика, жизнь, обыденное, рискованное решение и т д.) и будет при потребности вписывать примерный шанс этого или же этот шанс будет из профиля рассчитываться и выдаваться ответ.
Внутри программы будет шанс что ответ будет 1 иначе ответ 0.
Вопрос: К примеру если 15% шанс то, как сделать что бы был шанс 15% что выподет 1. Или всё другое.
Я по началу подумывал о функции Random... Что если сделать .. Если шанс 15% то Min=1 Max=85 если но с другой стороны... если шанс 50% то надо рассчитывать из положения Min=1 Max=2 Опять же куча всяхи если, может быть и наверное. А как сделать правильно?

Буду признателен и поставлю плюсик за живой рабочий пример.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2013, 22:14
Ответы с готовыми решениями:

Как высчитать шанс?
Доброго времени суток! Помогите написать метод который получает значение типа double (1,00 - 100%, 0,5 - 50% и т.д.) и возвращает булин...

Проверить шанс выпада определенного числа
Добрый день. Подскажите, я тут велосипед изобретаю, похоже. Есть задача, проверить шанс выпада определенного числа. К примеру, шанс...

последний шанс
Товарищи, я уже задолбался искать по знакомым и друзьям, поэтому обращусь к вам: кто из Питера может помочь с прошивкой АТМеги 8-16pu в...

16
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
31.03.2013, 23:16
Цитата Сообщение от SkoTi Посмотреть сообщение
К примеру если 15% шанс то, как сделать что бы был шанс 15% что выподет 1
Массив целых, состоящий, к примеру из 100 элементов, из который 15 - единицы. И рандомом выбирать - теория вероятности.
Нужно только проверить.
0
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
01.04.2013, 00:05  [ТС]
кэ?
Не думаю что это толковое предположение.. И темболие без примера... Сам подумай как это будет работать.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
01.04.2013, 00:08
а есть получше предложения? вполне естественно
(что касается твоих от 1 до 85)- какая-то нечеткая логика, явно хуже
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
01.04.2013, 00:14
SkoTi, диапазон указываешь, и рандомно выбираешь уже. хотя это лучше вариант, чем выше предложенный, но тоже не считаю его правильным.
вообще хотелось бы глянуть толковый вариант.

ах да, пример -
C#
1
2
3
4
5
6
Random r=new Random();
int i=r.Next(100);
if(i<16)
// выпало 1 15%
else
//выпало другое 85%
в общем что то в этом роде
1
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
01.04.2013, 00:17
Цитата Сообщение от Winhttp22 Посмотреть сообщение
Random r=new Random();
int i=r.Next(100);
if(i<16)
// выпало 1 15%
else
//выпало другое 85%
и
Цитата Сообщение от Winhttp22 Посмотреть сообщение
это лучше вариант, чем выше предложенный
думай хорошенько, прежде чем что-либо писать
<16 - все значения в начале диапазона, я же имел ввиду разбросать единицы равномерно по массиву
0
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
01.04.2013, 00:21  [ТС]
Winhttp22 Хм.... А это вариант..

Добавлено через 2 минуты
Winhttp22 Но мне всёравно кажется не то.. Если указать i<51
То всёравно может 3 раза подрят выпасть и 98 и 72 и 55 ну хз вобще.. Конеш вариант но хотелось бы ещё какойнить вариант.
0
169 / 132 / 29
Регистрация: 16.02.2013
Сообщений: 867
01.04.2013, 00:29
Цитата Сообщение от IamRain Посмотреть сообщение
и

думай хорошенько, прежде чем что-либо писать
<16 - все значения в начале диапазона, я же имел ввиду разбросать единицы равномерно по массиву
и что, что в начале? рандому не пофиг - где?
честно скажу - сам раньше искал инфу об этом в инете. так как предложенный мною вариант меня не устраивал. что интересно - в инете нашел такой же вариант. так что он имеет право жить и предложенный IamRain вариант тоже встречал. но другой реализации не нашел

Добавлено через 2 минуты
Winhttp22 Но мне всёравно кажется не то.. Если указать i<51
То всёравно может 3 раза подрят выпасть и 98 и 72 и 55 ну хз вобще..
я может не так понял? но если ты укажешь - i<51, то шанс выпадения будет 50 на 50, а значит если выпадет - 98 и 72 и 55 - то так и должно быть.
не?
0
-15 / 10 / 6
Регистрация: 03.10.2012
Сообщений: 532
01.04.2013, 00:31  [ТС]
Winhttp22 Ну ок... =) Будем пытатся методом проб и ошибок. =)) А ты чесно заработал Плюсик =)) ТО что выше предлогал вариант.. Он просто мнение вырозил А я обещал плюсануть того что ещё дельный пример выложил.. =) Без обид.

Добавлено через 45 секунд
Winhttp22 Не обращай внимание.. Я просто загнался....
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
01.04.2013, 00:49
Они равнозначны:
Миниатюры
Шанс. Создать шанс  
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
01.04.2013, 00:52
Вот так лучше видно:
Миниатюры
Шанс. Создать шанс  
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.04.2013, 01:07
ТС радует: сначала по-падонаффски изъясняется, потому посылает всех со словами "думай че говоришь" и кульминация - "заслужил плюсик"... прям какой-то уголок дурова.
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
01.04.2013, 01:10
Цитата Сообщение от Psilon Посмотреть сообщение
думай че говоришь
Это я посылал всех.
Но признаю, методы примерно равнозначны + мой дает сбои при больших значениях, да еще первый легче в реализации.
0
 Аватар для N!K
19 / 19 / 1
Регистрация: 04.03.2010
Сообщений: 86
01.04.2013, 09:09
Может такой вариант подойдет
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
 
namespace Test
{
   
    internal class Program
    {
        private static void Main(string[] args)
        {
            int shans = 0;
            Console.Write("Введите % успеха -> ");
            int.TryParse(Console.ReadLine(), out shans);
            int percent = 100/shans;
 
            for (int i = 1; i <= 100; i++)
            {
               Console.WriteLine(i%percent == 0 ? "Успех": "Неудача"); 
            }
        }
    }
}
0
 Аватар для IamRain
4694 / 2702 / 734
Регистрация: 02.08.2011
Сообщений: 7,228
01.04.2013, 10:46
Вот про это я и говорил, когда упомянул "сбои" при больших значениях.
Введите shans = 51
0
 Аватар для N!K
19 / 19 / 1
Регистрация: 04.03.2010
Сообщений: 86
01.04.2013, 11:31
Цитата Сообщение от IamRain Посмотреть сообщение
Вот про это я и говорил, когда упомянул "сбои" при больших значениях.
Введите shans = 51
Действительно, не учел(
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6101 / 4957 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
01.04.2013, 13:12
Омг
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace Prob
{
    class Program
    {
        static void Main(string[] args)
        {
            const int n = 10000;
            int shans = 0;
            Console.Write("Введите % успеха -> ");
            var r = new Random();
            int.TryParse(Console.ReadLine(), out shans);
            double res = shans/100.0;
            int dealcount = 0, notdealcount = 0;
            for (int i = 0; i < n; i++)
            {
                if (r.NextDouble() < res)
                {
                    Console.WriteLine("Удача");
                    dealcount++;
                }
                else
                {
                    Console.WriteLine("Неудача");
                    notdealcount++;
                }
            }
            Console.WriteLine("Удач - {0}\tНеудач - {1}",(100.0*dealcount)/n,(100.0*notdealcount)/n);
            Console.ReadKey();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2013, 13:12
Помогаю со студенческими работами здесь

Второй шанс
Девушки! Дали ли бы вы второй шанс м..ку, который опоздал на второе свидание на полтора часа, пришел бухой и все делал не так? Можно ли...

Шанс выпадения
Передо мной стоит задача сделать шанс выпадения предметов. Суть такая, есть некий ящик, в котором лежат вещи(от10 до 50 вещей). Нужно...

Шанс выполнения команды
Такой вопросик , есть ли команда, или как реализовать что б было примерно так , я пишу for(i=0;i&lt;=max;) /* вводим переменую шанса...

Шанс выпадения числа
Доброе время суток,подскажите как правильно сделать шанс выпадения числа. У меня есть массив чисел от 1 до 6, нужно чтобы число 1...

Шанс спалится с openVPN
всем привет, сижу в инете через прокси сервер который блочит нужные мне сайты. нашел выход, с помощью проги OpenVPN каковы шансы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru