0 / 0 / 0
Регистрация: 14.06.2015
Сообщений: 4
|
||||||
1 | ||||||
Сортировка методом Шелла16.01.2016, 21:33. Показов 3451. Ответов 3
Метки нет (Все метки)
Ребят, дали задание сделать сортировку массива методом Шелла с убывающим шагом. Получилось что то такое. Но после сортировки пропадает одна цифра, может я что не понимаю. Исправьте что не так пожалуйста.
0
|
16.01.2016, 21:33 | |
Ответы с готовыми решениями:
3
Сортировка методом Шелла не работает Быстрая сортировка и сортировка Шелла Сортировка Шелла Сортировка Шелла! |
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
|
|
16.01.2016, 23:05 | 2 |
DeathAdept, вероятнее всего вот здесь d = d / 2 теряется единица поскольку, к примеру (int) 5 / (int) 2 = 2, а не 2,5 - ведь это уже double. Вроде больше ни чего такого криминального не видно. Для проверки попробуйте массив из 16 элементов - кажется не должно ни чего пропасть.
Добавлено через 34 минуты Вот бы сразу отформатированный код разместили, и ошибку бы было легче найти: строка 33 for (i = 0; ... (а не 1 как у автора) Добавлено через 8 минут Исправление строке 33 возвращает потерянный элемент, но оказывается, что сортировка начинается не с первого элемента, а со второго. Подсказывать где скрывается очередная ошибка, или сами искать станете?
0
|
0 / 0 / 0
Регистрация: 14.06.2015
Сообщений: 4
|
|
16.01.2016, 23:42 [ТС] | 3 |
подскажите пожалуйста))))
0
|
323 / 310 / 206
Регистрация: 14.09.2015
Сообщений: 827
|
|
16.01.2016, 23:55 | 4 |
Ok! Смотрите строчку 22: while (j > 0 &&... нужно сделать >= тогда всё должно заработать так, как ожидается.
0
|
16.01.2016, 23:55 | |
16.01.2016, 23:55 | |
Помогаю со студенческими работами здесь
4
Сортировка методом Шелла и быстрая сортировка Сортировка методом Шелла Сортировка методом Шелла Сортировка методом Шелла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |