![]() |
|
Модераторы: Poseidon |
![]()
|
|
| MemphisMayFire |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 22.4.2011 Где: москва Репутация: нет Всего: нет |
Добрый день!
помогите, пожалуйста, написать сортировку хоара(рекурсивный метод) для массива структур, с элементами:
Сортировать нужно по ключу (d[i].val) Я не могу найти, где бы нормально был описан алгоритм(может не догоняю просто). Если вам не сложно, то напишите как вообще реализовывать это. Было бы совсем отлично, если бы кто-нибудь дал код, курсовую надо сдать в выходные Вот код с добавлением элементов в массив:
заранее спасибо! вот рабочий код для данной задачи:
Это сообщение отредактировал(а) MemphisMayFire - 20.5.2011, 22:17 |
||||||
|
|||||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 11 Всего: 135 |
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| MemphisMayFire |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 22.4.2011 Где: москва Репутация: нет Всего: нет |
а from и to что такое?
Добавлено через 4 минуты и 15 секунд а, вроде понял, все. Добавлено через 6 минут и 33 секунды только вот придется, наверное, писать функцию поиска минимального/максимального элемента массива, так как числа определяются пользователем и могут быть, например, 2 4 5 8. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 11 Всего: 135 |
изначально индекс первого и последнего элемента массива. в твоём случае 0 и n-1. Затем они изменяются в соответствии с алгоритмом
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| MemphisMayFire |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 22.4.2011 Где: москва Репутация: нет Всего: нет |
а, это номера. спасибо!
|
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 11 Всего: 135 |
учти, что в том алгоритме сортируется массив целых чисел, а тебе нужно
т.е. вместо простого сравнения
нужно делать как-то так
не уверен, что именно так - нужно проверять -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| MemphisMayFire |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 22.4.2011 Где: москва Репутация: нет Всего: нет |
вроде нужно вот так
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 11 Всего: 135 |
val - массив символов. как он м.б. < 0 ??? -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| MemphisMayFire |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 22.4.2011 Где: москва Репутация: нет Всего: нет |
ну ты обращаешься к элементу массива как a[i], а тут у тебя массив структур и тебе нужно обратиться к элементам одного поля(key в моем случае, тк сортировка идет по ключам), то есть d[i].key.
Добавлено через 57 секунд случаенно val вместо key написал Добавлено через 9 минут и 1 секунду
фэйлы какие-то непонятные( |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 11 Всего: 135 |
так, как ты сделал - неправильно, т.к. у тебя сортируется не массив целиком, а только поля key, при этом val остаются на своих местах
наверное, что-то где-то не работает -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| MemphisMayFire |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 22.4.2011 Где: москва Репутация: нет Всего: нет |
а, ну да, будет только одно сортироваться.
походу придется указатели сделать. |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 11 Всего: 135 |
подсказка: x и temp должны быть не типа int, а типа elem
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| MemphisMayFire |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 22.4.2011 Где: москва Репутация: нет Всего: нет |
о, точно, спасибо!
|
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 11 Всего: 135 |
выкладывай. проверю, да и мож кому сгодится
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| MemphisMayFire |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 22.4.2011 Где: москва Репутация: нет Всего: нет |
только фэйлы выдает при передаче val
>>incompatible types when assigning to type ‘char[256]’ from type ‘char *’
что не так? |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |