point = ^MyWord;
MyWord = record
ch: char;
next: point
end;
var
slovo:point;
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Список и рекурсия |
NTL |
Сообщение
#1
|
Фанат Delphi Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Дан список символов. Необходими расположить элементы в обратном порядке. Желательно использовать рекурсию, но можно и без нее. Помогите, пжлста..Никак не могу написать эту процеруру
Код Type point = ^MyWord; MyWord = record ch: char; next: point end; var slovo:point; -------------------- ICQ (384-043-857)
|
volvo |
Сообщение
#2
|
Гость |
Покажи, как пытался, и как создавал вообще список...
(Думаешь, под новым ником ты неузнаваем? Ошибаешься...) |
NTL |
Сообщение
#3
|
Фанат Delphi Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
Покажи, как пытался, и как создавал вообще список... Код uses crt; Type point = ^MyWord; MyWord = record ch: char; next: point end; var slovo:point; procedure Print (first: point); Var r: point; begin R:= first; write('C/\OBO = '); While r<>nil do begin Write (r^.ch); R:=r^.Next; end; writeln; end; procedure Vvod(var first:point); var r, last:point; begin first:= nil; last := nil; writeln('HABEPuTE C/\OBO C "." HA KOHCE '); while r^.ch <> '.' do begin new(r); r^.next := nil; read(r^.ch); if first = nil then first := r else last^.next := r; last := r; end; end; {---------------------------------------------------------------------------} begin clrscr; vvod(slovo); print(slovo); {PrintReverse(slovo);} {сосбтвенно это искомая процедура} readkey end. Цитата (Думаешь, под новым ником ты неузнаваем? Ошибаешься...) гы гы гы...Да, я и не хотел прятаться...Просто нужно было срочно на форум Может лучше старый разблокируешь? Я учел свои ошибки и больше так делать не буду Сообщение отредактировано: NTL - -------------------- ICQ (384-043-857)
|
volvo |
Сообщение
#4
|
Гость |
Не пойдет вот этот кусок:
writeln('HABEPuTE C/\OBO C "." HA KOHCE '); У тебя пока R не инициализирован... На FPC тут же выбило Segmentation Fault, в Турбо паскале нельзя доверять результату этой процедуры... Поменяй на такое: writeln('HABEPuTE C/\OBO C "." HA KOHCE ');, тогда ошибка уйдет, и больше не вернется ... Ну, а твоя процедура должна быть такой, например: procedure printreverse(first: point); |
NTL |
Сообщение
#5
|
Фанат Delphi Группа: Пользователи Сообщений: 72 Пол: Мужской Реальное имя: Сергей Репутация: 0 |
мистика какая-то Большое спасибо! Респект
-------------------- ICQ (384-043-857)
|
Текстовая версия | 13.10.2024 20:27 |