0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 9
|
|
1 | |
Пирамидальная сортировка10.06.2014, 21:04. Показов 3115. Ответов 11
Метки нет (Все метки)
Ребята , может кто поможет , очень срочно уже надо в Delphi запилить
Вот задача : Дан одномерный массив.Все положительные элементы расположить в порядке убывания,отрицательные-в порядке возрастания,нулевые оставить без изменения.Относительного расположения отрицательных и положительных элементов не менять.Использовать пирамидальную сортировку,реализовав метод в виде подпрограммы. Ну очень уж буду признателен , плиз помогите!!!
0
|
10.06.2014, 21:04 | |
Ответы с готовыми решениями:
11
Пирамидальная сортировка Пирамидальная сортировка Пирамидальная сортировка пирамидальная сортировка |
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
10.06.2014, 21:14 | 2 |
Сообщение было отмечено johnny_Oo как решение
Решение
1)Запоминаем позиции отдельно отрицательных и отдельно положительных элементов(Лучше всего в два отдельных массива чисел). Выносим отрицательные и положительные элементы в отдельные массиве и там сортируем(думаю, как это сделать говорить не надо). Теперь расставляем по циклу отрицательные и положительные элементы на свои места(сначала отрицательные, затем положительные в те места, которые запомнили) после сортировки. Выводим весь массив. Элементы с нулем остаются не тронутыми. Очищаем память от всех использованных массивов, кроме основного.(Если эти массивы были не глобальными переменными, то Windows по завершению процедуры должна была их удалить из памяти).
2)Читаем здесь: http://ru.wikipedia.org/wiki/%... E%E2%EA%E0
1
|
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 9
|
|
10.06.2014, 21:20 [ТС] | 3 |
Пробую
0
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
10.06.2014, 21:25 | 4 |
0
|
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 9
|
|
10.06.2014, 21:28 [ТС] | 5 |
Не могу найти толковой пирамидальной сортировки для Паскаля , это мрак вообще
0
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|||||||||||
10.06.2014, 21:33 | 6 | ||||||||||
Возьми C# или C, далее переводим в Delphi. Во многом они похожи.
На С:
0
|
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 9
|
|
10.06.2014, 21:34 [ТС] | 7 |
Буду пробовать , дело в том что C я вообще не знаю , я первый год учусь
0
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|
10.06.2014, 21:39 | 8 |
Я тоже сильно не разбираюсь в C и C#, но постараюсь хоть что-то перевести(Написать описание процедур, тут они используются, расставить begin и end, условия, циклы, переменные).
0
|
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 9
|
|
10.06.2014, 22:39 [ТС] | 9 |
ай , ничего не получается
0
|
157 / 300 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
|
|||||||||||
11.06.2014, 10:41 | 10 | ||||||||||
Тут описываются две процедуры:
For можно заменить на For Down To. А While использовать можно как While Do. Короче вот переведенный из википедии код:
Интересно, то что перевел я.
0
|
9 / 5 / 4
Регистрация: 11.12.2016
Сообщений: 166
|
|
27.05.2017, 14:48 | 11 |
саша40, здравствуй
проблема в том, что иногда программа сортирует это вроде бы хорошо, но не до конца, так как первые 2 элемента не меняет местами Сможете помочь?
0
|
379 / 332 / 89
Регистрация: 26.05.2010
Сообщений: 750
|
||||||
27.05.2017, 18:37 | 12 | |||||
Вот держи код пирамидальной сортировки, когда учился делал с чужого кода:
1
|
27.05.2017, 18:37 | |
27.05.2017, 18:37 | |
Помогаю со студенческими работами здесь
12
Пирамидальная сортировка строк Пирамидальная сортировка с каждым шагом Пирамидальная сортировка дробных чисел Рекурсия. Пример использования рекурсивных функций. Пирамидальная сортировка массива Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |