/// <summary>
        /// Находит наилучшие решения по методу Електра.
        /// </summary>
        /// <param name="current">Варианты выбора и параметры каждого варианта.</param>
        /// <returns>Таблица с новыми значениями.</returns>
        public static TableOfResults ElectraMethod(TableOfExemplars current)
        {
            Dictionary <KeyValuePair <Exemplar, Exemplar>, ElementOfTable> values = new Dictionary <KeyValuePair <Exemplar, Exemplar>, ElementOfTable>();

            foreach (var pair in current.Join())
            {
                Exemplar first  = pair.Key;
                Exemplar second = pair.Value;
                Dictionary <Exemplar, double> score = new Dictionary <Exemplar, double>(2)
                {
                    [first]  = 0,
                    [second] = 0
                };
                foreach (Column difference in current.Columns)
                {
                    if (first.IsBetter(difference, second))
                    {
                        score[first] += difference.Weight;
                    }
                    else if (second.IsBetter(difference, first))
                    {
                        score[second] += difference.Weight;
                    }
                }
                values[pair] = score[first] / score[second];
            }
            return(new TableOfResults(values));
        }
        public static void Main()
        {
            IEnumerable <Column> columns   = GetColumns();
            TableOfExemplars     exemplars = new TableOfExemplars(columns);

            exemplars.AddRange(GetExemplars(exemplars.Columns));
            Console.WriteLine(exemplars);
            var res = StaticTools.ElectraMethod(exemplars);

            do
            {
                res.DecisionThreshold = GetDouble("Введите порог решения (например, 1): ");
                Console.WriteLine(res);
            } while (GetBoolean("Изменить порог решения?"));
        }