Esempio n. 1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Abiturient[] A = new Abiturient[3];

            for (int i = 0; i < A.Length; i++)
            {
                A[i] = new Abiturient();
                A[i].InputInfo(i + 1);
                Console.WriteLine();
            }
            // 1. Список абитуриентов, имеющих неудовлетворительные оценки;
            Console.WriteLine("Неудовлетворительные оценки у: ");

            int BadPoint = 2;

            var BadPoints = A.Where(x => x.ratings.Split().Select(n => int.Parse(n, CultureInfo.InvariantCulture)).Contains(BadPoint)).Select(s => s);

            foreach (var Bad in BadPoints)
            {
                Console.WriteLine(Bad.ToString());
            }
            Console.WriteLine();

            // 2. Список абитуриентов, у которых сумма баллов выше заданной;
            Console.Write("Введите общий балл: ");
            int S = Convert.ToInt16(Console.ReadLine());

            Console.Write($"Сумма всех баллов выше, чем {S} у: ");

            var PointsScoreMore = A.Where(x => x.ratings.Split().Select(n => int.Parse(n, CultureInfo.InvariantCulture)).Aggregate((a, b) => a + b) > S).Select(s => s);

            foreach (var Row in PointsScoreMore)
            {
                Console.WriteLine(Row.ToString());
            }
            Console.WriteLine();

            // 3) Заданное число n абитуриентов, имеющих самую высокую сумму баллов;
            Console.Write($"Самая большая сумма баллов: ");

            int PointsScoreMax = A.Max(x => x.ratings.Split().Select(n => int.Parse(n, CultureInfo.InvariantCulture)).Aggregate((a, b) => a + b));

            Console.Write(PointsScoreMax);

            var ScoreMaxAbiturient = A.Where(x => x.ratings.Split().Select(n => int.Parse(n, CultureInfo.InvariantCulture)).Aggregate((a, b) => a + b) == PointsScoreMax).Select(s => s);

            Console.Write($" у: ");

            foreach (var Row in ScoreMaxAbiturient)
            {
                Console.WriteLine(Row.ToString());
            }

            Console.WriteLine();
        }