0 / 0 / 0
Регистрация: 26.05.2013
Сообщений: 58
1

Класс "Студент": Создать метод сортировки по различным критериям (по фамилии, по среднему баллу, успеваемости)

14.05.2015, 14:40. Показов 4035. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать класс "Студент", который определяется полями: ФИО, номер группы, название факультета, название специальности, средний балл успеваемости. Пусть имеется массив объектов этого класса. Создать метод сортировки по различным критериям (по фамилии, по среднему баллу, успеваемости). Метод сравнения двух объектов передать в метод сортировки как параметр-делегат.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2015, 14:40
Ответы с готовыми решениями:

Для массива объектов класса «Студент» создать метод сортировки по различным критериям
Для массива объектов класса «Студент» создать метод сортировки по различным критериям (по фамилии,...

Программа для сортировки по среднему баллу
Дан список группы из 10 человек вида "фамилия m 1234", где на фамилию отводится 15...

Вывести на экран фамилии и имена 3 лучших по среднему баллу учеников
На вход в программе выдаются сведения об оценках в экзаменационной ведомости. В 1...

Вывести фамилии и имена трех худших по среднему баллу учеников
На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней...

Вывести фамилии и имена трех худших по среднему баллу учеников
На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней...

1
Master of Orion
Эксперт .NET
6098 / 4954 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
14.05.2015, 16:05 2
Лучший ответ Сообщение было отмечено Viktorion как решение

Решение

Viktorion, предлагаю мой классный класс для генерации компараторов:
https://github.com/Pzixel/ZAT/... omparer.cs

замечательно генерирует для любого класса компаратор. Пример в тестах есть:
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
       private class Test
        {
            public int A;
            public double B;
            public string C;
            public byte D;
        }
 
        // For objects A, B and C, the following must be true:
        // A.CompareTo(A) must return zero.
        // If A.CompareTo(B) returns zero, then B.CompareTo(A) must return zero.
        // If A.CompareTo(B) returns zero and B.CompareTo(C) returns zero, then A.CompareTo(C) must return zero.
        // If A.CompareTo(B) returns a value other than zero, then B.CompareTo(A) must return a value of the opposite sign.
        // If A.CompareTo(B) returns a value x not equal to zero, and B.CompareTo(C) returns a value y of the same sign as x, then A.CompareTo(C) must return a value of the same sign as x and y.
        // [url]https://msdn.microsoft.com/en-us/library/system.icomparable.compareto%28v=vs.110%29.aspx[/url]
 
        [TestMethod]
        public void TestComparerFull1()
        {
            var objA = new Test { A = 1, B = 19, C = "H", D = 10 };
            var objB = new Test { A = 1, B = 19, C = "H", D = 10 };
            var objC = new Test { A = 1, B = 19, C = "H", D = 10 };
 
            var comparer = CustomComparer<Test>.New(t => t.A).Add(t => t.B).Add(t => t.C).Add(t => t.D).CreateDelegate();
 
            Assert.AreEqual(0, comparer(objA, objB));
            Assert.AreEqual(0, comparer(objB, objA));
 
            Assert.AreEqual(0, comparer(objB, objC));
            Assert.AreEqual(0, comparer(objA, objC));
        }
0
14.05.2015, 16:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2015, 16:05
Помогаю со студенческими работами здесь

Упорядоченое бинарное дерево. Элемент дерева студент. Сделать поиск по среднему баллу, по ФИО, по группе
Помогите плиз!!!! Упорядоченое бинарное дерево. Элемент дерева - Студент ФИО, номер зачетки,...

Вывести на экран фамилии и имена трех лучших по среднему баллу учеников
На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней...

Вывести на экран фамилии и имена трех худших по среднему баллу учеников
На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней...

Вывести на экран фамилии и имена трех лучших по среднему баллу учеников
задача 1 Во входном файле meteo.dat 365 строк, которые содержат информацию о среднесуточной...

Вывести на экран фамилии и имена трех худших по среднему баллу учеников
На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru