3 / 3 / 1
Регистрация: 06.07.2016
Сообщений: 73
|
||||||||||||||||
1 | ||||||||||||||||
Сортировка массива структур по одному полю17.01.2017, 15:40. Показов 3713. Ответов 14
Метки нет (Все метки)
Приветствую.
Задача: отсортировать по возрастанию структуру по одному полю. Вчера поднимал тему: Сортировка массива структур по одному полю Здесь же новый косяк, не понимаю, как вытащить значения под сортировку в функции Sort (закомментированные строки). Прошу помощи. Структуры:
0
|
17.01.2017, 15:40 | |
Ответы с готовыми решениями:
14
Сортировка массива структур по одному полю Сортировка массива(вектора)структур по одному полю Сортировка массива структур по полю Сортировка массива структур по заданному полю |
3 / 3 / 1
Регистрация: 06.07.2016
Сообщений: 73
|
||||||
17.01.2017, 15:53 [ТС] | 3 | |||||
nonedark2008,
Отмеченные !!! строки собственно и не понимаю как в своем случае реализовать. Добавлено через 3 минуты MrGluck, так несовмещение ж типов будет
0
|
3 / 3 / 1
Регистрация: 06.07.2016
Сообщений: 73
|
|
17.01.2017, 15:54 [ТС] | 5 |
MrGluck, по заданию так.
0
|
3 / 3 / 1
Регистрация: 06.07.2016
Сообщений: 73
|
|
17.01.2017, 15:56 [ТС] | 7 |
MrGluck, это-то и надо. А понимания нет.
Добавлено через 1 минуту MrGluck, на элементы массива структур Group, т.е. на Student[0], Student[1] итд
0
|
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
|
17.01.2017, 16:04 | 8 |
Кликните здесь для просмотра всего текста
del
1
|
3 / 3 / 1
Регистрация: 06.07.2016
Сообщений: 73
|
|
17.01.2017, 16:09 [ТС] | 9 |
JIawliet,
фурычит, спасибо. Если еще и объясните, почему так, а не иначе, цены вам не будет
0
|
Форумчанин
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||||||
17.01.2017, 16:15 | 10 | |||||
Сообщение было отмечено GetShuk как решение
Решение
У вас ещё и функция сортировки была неверно написана.
Вот, ваш пример, более менее причёсанный. Хотя я бы использовал классы с методами и ссылки вместо указателей, но дело хозяйское.
Для начала мы разыменовываем указатель pk и обращаемся к полю структуры pS (это оператор ->). Далее, учитывая, что pS указывает на массив, используем оператор доступа по индексу. То есть мы работаем с массивом pk->pS как если бы это был просто массив Student. И не важно, что это поле структуры. Добавлено через 30 секунд Для этого достаточно одномерного массива. Я потому и спросил.
1
|
90 / 88 / 33
Регистрация: 20.07.2016
Сообщений: 403
|
|
17.01.2017, 16:17 | 11 |
вы поторопились) я сомневаюсь, что тот кусок кода, который я оставил будет работать корректно)
pk - указатель на структуру, с помощью оператора стрелки получаем доступ к pS (указатель на указатель), а вот тут начинается веселье и тот код, который я оставил - неверный, поэтому я его и удалил... правильно ли я понял, что вы хотите отсортировать матрицу???? потому что pS это массив массивов. Добавлено через 1 минуту С++ == std::sort + предикат
1
|
Форумчанин
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
17.01.2017, 16:21 | 12 |
Если требуется своя функция сортировки, то компаратор std::function/параметр шаблона.
Но тут у ТС жёстко заданы сигнатуры некоторых функций, да и вообще "ничего нельзя". То, что я привёл - подредактированный код ТС, практически С.
0
|
3 / 3 / 1
Регистрация: 06.07.2016
Сообщений: 73
|
|||||||||||
17.01.2017, 16:25 [ТС] | 13 | ||||||||||
JIawliet, есть структура Group, содержащая в себе массив структур Student, и этих студентов надо отсортировать по одному из полей (возрасту, например). + пример работал корректно на 3х структурах в массиве структур Group.
MrGluck, классы еще не проходили. И заполнение структуры у меня идет через отдельную функцию:
0
|
Форумчанин
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
17.01.2017, 16:28 | 14 |
как я и предполагал.
Без разницы, в моём примере заполнение играет второстепенную роль. Мне лень вбивать каждый раз данные, поэтому я их заполнил явно в main. Вас должны интересовать приведённые мною функции.
1
|
3 / 3 / 1
Регистрация: 06.07.2016
Сообщений: 73
|
|
17.01.2017, 16:31 [ТС] | 15 |
MrGluck, их уже посмотрел, ошибки понял. Давно уже колупаюсь, поэтому справшиваю все.
Добавлено через 1 минуту MrGluck, JIawliet, за разъяснения отдельное спасибо.
0
|
17.01.2017, 16:31 | |
17.01.2017, 16:31 | |
Помогаю со студенческими работами здесь
15
Сортировка массива структур по полю lastname Сортировка массива структур по полю date Сортировка массива структур по определенному полю Сортировка массива структур по заданному полю Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |