![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
-rescue- |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Нада доделать задачу, чтобы сортировка пропускала 0. Тоесть сортирувало пропуская нули. Сортировка хоара (процедуры Por, Hoar ). Помагите пожалуйста !
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Быстрая сортировка - не тот метод, где можно "пропускать" определенные значения аналогично методу вставок. Скорее всего, у тебя ничего не выйдет. Придется запоминать позиции, на которых находятся нули и после скончания сортировки восстанавливать их.
|
-rescue- |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Зачем такие задачи давать студентам
![]() |
-rescue- |
![]()
Сообщение
#4
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
volvo, то тогда заместь нуля на начале появитса новая цыфра ? а ноль заместь той цыфре ? Или я не то сделал, у меня получилось вот так -
Просто цыфри: 1 6 0 3 7 Отсортированые(с восстановлениям нуля): 3 1 0 6 7 |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата то тогда заместь нуля на начале появитса новая цыфра ? а ноль заместь той цыфре ? Не совсем так... Надо будет сдвигать все от запомненной позиции нуля влево на один элемент (начинать справа, а не слева), и на освободившееся справа место устанавливать 0. И так - столько раз, сколько нулей было в массиве изначально... Move прекрасно решает эту проблему... |
-rescue- |
![]()
Сообщение
#6
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
volvo, смотрите я добавил к єтой умове -
if i<=j thenдобавил ещё одно "если" if (a[i]<>0) and (a[j]<>0) then ...То если у меня в файле 3-2 нуля, то оно их нормально пропускает, а если больше примерно к 20-50 при масиве 10 000 то оно как сказать "вилетают" ис своих мест. Не пойму что делать ![]() |
volvo |
![]()
Сообщение
#7
|
Гость ![]() |
Код "сохранения" и "замены" нулей - в студию...
|
-rescue- |
![]()
Сообщение
#8
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Код "сохранения" и "замены" нулей - в студию... Полностю код:
При этом рендоме (10 000) нули будут попадатса редко, за весь текстовый файл максимум 3 или вобше их не будет, и спокойно пропускать будет. А если задать например рендомом (100-4) то нулей может быть дочерта ( у меня попадалась под 20-30) то оно их как то не пропускает "до конца" и получаетса не сортировка а каша. (100-4) Любые "Сортированый" Сообщение отредактировано: volvo - 13.03.2010 16:23 |
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
А потому что я сказал тебе: QuickSort - это тебе не сортировка вставками... У тебя и при малом количестве нулей ничего не работает (программа, которая вылетает с Segmentation Fault не может считаться рабочей)... Я написал тебе выше, что надо делать. Если хочешь - покажу, как. Не хочешь - отлавливай глюки дальше... Как надоест - скажешь...
|
-rescue- |
![]()
Сообщение
#10
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Segmentation Fault ? Что это такое )) ? Как это не работало ? Работает (при 2-3 нуляг гг) !!!
Сообщение отредактировано: -rescue- - 17.03.2009 19:56 |
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
Если Turbo Pascal пропускает заведомо неправильную программу - это проблемы Turbo Pascal-я. Правильной от этого программа не становится. Попробуй прогнать эту программу под Free Pascal-ем (или Дельфи - консольное приложение), которые гораздо аккуратнее контролируют процесс выполнения - убедишься, что она не рабочая. Хочешь - покажу скриншот...
|
-rescue- |
![]()
Сообщение
#12
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
volvo, скриншот в Дельфи хочу
![]() |
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Цитата скриншот в Дельфи хочу Ну, хочешь - получи: ![]() ![]() Эскизы прикрепленных изображений ![]() |
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 7:29 |