IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Все тот же дек
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 14

Репутация: -  0  +


Я понимаю, что достал уже всех с деком, но сам че-то разобраться не могу. Так что поможите люди добрые. Условие задачи:
Цитата
Из элементов стека и очереди составить дек.

Очередь и стек я сформировал, а вот дальше...

Type
point=^item;
item=record
elem: Char;
next: point;
end;
Var
topS, topQ, endQ: point;
n: Integer;
c, d, a: Char;

{Формирование первого элемента стэка}

Procedure FormStack (Var topS: point; c: Char);
Begin
New (topS);
topS^.next:=Nil;
topS^.elem:=c;
End;

{Добавление элементов в стэк}

Procedure DobStack (Var topS: point; c: Char);
Var
s: point;
Begin
New (s);
s^.next:=topS;
topS:=s;
s^.elem:=c;
End;

{Формирование первого элемента очереди}

Procedure FormQueue (Var topQ, endQ: point; d: Char);
Begin
New (topQ);
topQ^.next:=Nil;
topQ^.elem:=d;
endQ:=topQ;
End;

{Добавление элементов в очередь}

Procedure DobQueue (Var endQ: point; d: Char);
Var
q: point;
Begin
New (q);
q^.next:=Nil;
endQ^.next:=q;
endQ:=q;
endQ^.elem:=d;
End;

{Основная программа}

Begin
Repeat
n:=1;
Writeln ('');
Write ('Введите ',n,' элемент стэка: ');
Readln( c );
FormStack (topS, c);
Repeat
n:=n+1;
Write ('Введите ',n,' элемент стэка: ');
Readln ©;
DobStack (topS, c);
Until c='.';

n:=1;
Write ('Введите ',n,' элемент очереди: ');
Readln (d);
FormQueue (topQ, endQ, d);
Repeat
n:=n+1;
Write ('Введите ',n,' элемент очереди: ');
Readln (d);
DobQueue (endQ, d);
Until d='.';

Writeln ('');
Writeln ('Повторить?(y/n)');
Readln (a);
Until a<>'y';
End.

sad.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Вот простая реализация Дека содержащего элементы типа Char (без объектов и обработки ошибок)

Реализация программы перенесена сюда: FAQ: Динамические структуры данных (Дек)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 14

Репутация: -  0  +


Volvo, пасибо громаднейшее! :D

Сообщение отредактировано: Dao -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 25.04.2024 22:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name