예제 #1
0
        private void ViewWinner()//выводим ответ по каждой из моделей
        {
            RuleMajority majority = new RuleMajority(variants.Count, users);

            MessageBox.Show("Победитель: " + variants[majority.IndWinner()], majority.NameRule);

            RuleCondorcet condorcet = new RuleCondorcet(variants.Count, users);

            votes      = condorcet.GetVotes;
            preference = condorcet.GetPreferences;
            int iWin = condorcet.IndWinner();

            if (iWin != -1)
            {
                MessageBox.Show("Победитель: " + variants[iWin], condorcet.NameRuleCondorcet);
            }
            else
            {
                MessageBox.Show("Парадокс", condorcet.NameRuleCondorcet);
            }

            MessageBox.Show("Победитель: " + variants[condorcet.Coplend()], condorcet.NameRuleCoplend);

            MessageBox.Show("Победитель: " + variants[condorcet.Simpson()], condorcet.NameRuleSimpson);

            RuleBorda borda = new RuleBorda(variants.Count, users);

            MessageBox.Show("Победитель: " + variants[borda.IndWinner()], borda.NameRule);
        }
예제 #2
0
        //Вывод результата по каждой из моделей
        private void ViewWinner()
        {
            // Для каждой модели создаются свои объекты
            RuleMajority  majority  = new RuleMajority(variants.Count, users);
            RuleCondorcet condorcet = new RuleCondorcet(variants.Count, users);
            RuleBorda     borda     = new RuleBorda(variants.Count, users);

            // Список голосов и предпочтений
            votes      = condorcet.GetVotes;
            preference = condorcet.GetPreferences;

            // Вывод результатов по кажой модели
            MessageBox.Show("Победитель по Большенству: " + variants[majority.IndWinner()], majority.NameRule);

            int iWin = condorcet.IndWinner();

            if (iWin != -1)
            {
                MessageBox.Show("Победитель по Кондорсе: " + variants[iWin], condorcet.NameRuleCondorcet);
            }
            else
            {
                MessageBox.Show("Парадокс", condorcet.NameRuleCondorcet);
            }

            MessageBox.Show("Победитель по Компленду: " + variants[condorcet.Coplend()], condorcet.NameRuleCoplend);
            MessageBox.Show("Победитель по Симпсону: " + variants[condorcet.Simpson()], condorcet.NameRuleSimpson);
            MessageBox.Show("Победитель по Борде: " + variants[borda.IndWinner()], borda.NameRule);
        }