1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Dunkel_L |
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Репутация: 0 |
Нужно написать процедуру в R-списе(info:string) (кольцевой список), которая меняет местами слова с четными номерами и нечетными (1-е со 2-м и т.д.)
|
![]() ![]() |
| volvo |
Сообщение
#2
|
|
Гость |
Твою реализацию кольцевого списка - в студию !!!
|
| Dunkel_L |
Сообщение
#3
|
|
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Репутация: 0 |
Код uses crt; type ptr=^node; node=record info:string; link:ptr; end; var front,fin:ptr; procedure inqueue(c:string); var p:ptr; begin new(p); p^.info:=c; p^.link:=nil; if fin<>nil then begin fin^.link:=p; end else front:=p; fin:=p; end; function outqueue:string; var p:ptr; begin if front<>nil then begin outqueue:=front^.info; p:=front^.link; dispose(front); front:=p; if front=nil then fin:=nil; end else begin TextColor(red); writeln(' Ошибка! Список пуст'); outqueue:=' '; TextColor(7); writeln(' Для продолжения работы нажмите Enter '); end end; procedure show; var p,q:ptr; var inf:string; begin q:=front; repeat p:=q^.link; inf:=q^.info; write(inf,'; '); q:=p; until(q=nil); end; procedure out; var p:ptr; begin if front<>nil then repeat p:=front^.link; dispose(front); front:=p; until(front=nil); end; procedure pe(p:ptr); Вот сама процедура var r:ptr; begin if front<>nil then begin new(r); r^.info:=p^.info; r^.link:=p^.link; p^.link:=r; pe(r^.link); end; end; ----конец---- var n,i:integer; var k,z:string; begin front:=nil; fin:=nil; repeat clrscr; writeln('Выберете деиствие'); writeln('1-Ввести элемент'); writeln('2-Убрать элемент'); writeln('3-Посмотреть все'); writeln('4-Перестановка'); writeln('5-Выход'); writeln; write(' Введите команду и нажмите ВВОД: '); readln(n); if n=1 then begin writeln(' Введите символ'); write(' '); readln(k); inqueue(k); end else if n=2 then begin write(outqueue); readln; end else if n=3 then begin write(' Список: '); show; readln; end else if n=4 then begin pe(front); end until(n=5); out; end. |
Dunkel_L R-список 13.12.2005 18:47
volvo Вот так:
procedure pe(p:ptr);
var
q:ptr;
T: st… 27.12.2005 22:53
Dunkel_L Спасибо. Все работает. Но правда это у меня не кол… 29.12.2005 3:04
volvo Ну, так ты же его не выводишь...
Write(… 29.12.2005 3:13
Dunkel_L Да я слепой... :)
Теперь у меня возник другой воп… 29.12.2005 4:33
-Dunkel_L- В кольцевом списке недолжно быть указателя nil на … 29.12.2005 17:03
volvo Ты меня конечно извини, но твоя программа у меня в… 29.12.2005 17:28
Dunkel_L
procedure pe(p:ptr);
var
q:ptr;… 29.12.2005 18:55
volvo Выброси эту лекцию... Кольцевой список создается т… 29.12.2005 19:48
volvo Вот тебе принцип работы с R-списком (меню добавишь… 30.12.2005 5:14
Dunkel_L С НОВЫМ ГОДОМ!!!
Спасибо за твою реали… 4.01.2006 4:49
volvo Да... Твоя же задача для D-списка тоже решена на ф… 4.01.2006 14:55![]() ![]() |
|
Текстовая версия | 7.11.2025 8:20 |