1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Dunkel_L |
13.12.2005 14:47
Сообщение
#1
|
|
Новичок ![]() Группа: Пользователи Сообщений: 25 Пол: Мужской Репутация: 0 |
Нужно написать процедуру в R-списе(info:string) (кольцевой список), которая меняет местами слова с четными номерами и нечетными (1-е со 2-м и т.д.)
|
![]() ![]() |
| volvo |
13.12.2005 14:53
Сообщение
#2
|
|
Гость |
Твою реализацию кольцевого списка - в студию !!!
|
| Dunkel_L |
13.12.2005 15:13
Сообщение
#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 14:47
volvo Вот так:
procedure pe(p:ptr);
var
q:ptr;
T: st... 27.12.2005 18:53
Dunkel_L Спасибо. Все работает. Но правда это у меня не кол... 28.12.2005 23:04
volvo Ну, так ты же его не выводишь...
Write(... 28.12.2005 23:13
Dunkel_L Да я слепой... :)
Теперь у меня возник другой воп... 29.12.2005 0:33
-Dunkel_L- В кольцевом списке недолжно быть указателя nil на ... 29.12.2005 13:03
volvo Ты меня конечно извини, но твоя программа у меня в... 29.12.2005 13:28
Dunkel_L
procedure pe(p:ptr);
var
q:ptr;... 29.12.2005 14:55
volvo Выброси эту лекцию... Кольцевой список создается т... 29.12.2005 15:48
volvo Вот тебе принцип работы с R-списком (меню добавишь... 30.12.2005 1:14
Dunkel_L С НОВЫМ ГОДОМ!!!
Спасибо за твою реали... 4.01.2006 0:49
volvo Да... Твоя же задача для D-списка тоже решена на ф... 4.01.2006 10:55![]() ![]() |
|
Текстовая версия | 15.12.2025 21:56 |