однонаправленый список, удалить отрицательные элементы |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
однонаправленый список, удалить отрицательные элементы |
sheka |
17.06.2009 16:46
Сообщение
#1
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
процедура должна удалять отрицательные элементы списка после PP
procedure DelNegative(var PP:TPtr); помогите решить. |
volvo |
17.06.2009 16:59
Сообщение
#2
|
Гость |
Опять рекурсия? Убедился, что здесь она не работает? А теперь перепиши это БЕЗ рекурсии, и не теряя указателя на начало списка (как ты делаешь). И больше даже не смотри в сторону рекурсивных процедур. Рано тебе еще туда смотреть.
|
sheka |
17.06.2009 17:21
Сообщение
#3
|
Я. Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: 11 |
переписал вот так:
хотя и работает отлично, мне этот вариант не очень нравится, потому что есть объявление New(P); а dispose(P); - нет (я так понимаю все нормально из-за того, что Р - локальная переменная). Опять рекурсия? Убедился, что здесь она не работает? почему? я уверен что сделал правильно с рекурсией, а где ошибка - понять не могу! Цитата и не теряя указателя на начало списка (как ты делаешь). вообще не понял.. объясни пожалуйста. |
volvo |
17.06.2009 18:30
Сообщение
#4
|
Гость |
Цитата я уверен что сделал правильно с рекурсией Если б ты сделал правильно - получил бы правильный результат. Я в этом тоже уверен. Вот нерекурсивный вариант:procedure neg(var pp: TPtr);, смотри внимательно, что и где ты НЕ сделал... |
Текстовая версия | 28.05.2024 9:23 |