![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() |
Rocket |
![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 306 Пол: Мужской Реальное имя: Евгений Репутация: ![]() ![]() ![]() |
Возникла проблема с сортировкой, суть которой заключается в следующем:
допустим, наш изначальный массив 3 7 4 1 8 3 3 5 9 1. Строится бинарное дерево, на следующий уровень идут 3 1 3 3 1, то есть соседние числа сравниваются, дальше идет наименьший элемент. Следующие уровни: 1 3 1, 1 1 1 В конце остаётся 1, она отправляется в отсортированный массив (в данном случае на первое место), а из начального массива отбрасывается (заменяется на бесконечность). Вобщем, в этом суть, преподаватель назвал его "турнирной" сортировкой, но это явно не "пирамидальная-турнирная-HeapSort" сортировка, преведённая на форуме. Вот мой код:
Тестировал я её на масивах в 10 элементов, всё четко работало и работает, а вот, когда перешёл к практике(массив в 100 элементов), возникла ошибка - тупо выкидывает из программы... в чём проблема? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ты забыл инициализировать массив temp нулями, лучше всего прямо тут:
for (int i=0; i<S; i++) {Кстати, ты знаешь, что твоя программа стандарту не соответствует? Ты используешь GCC-шное дополнение, позволяющее передавать переменную в качестве размера массива, при попытке откомпилировать эту программу в Билдере получишь ошибки... |
![]() ![]() |
![]() |
Текстовая версия | 8.08.2025 18:06 |