Тема: Робота із стеком символів
Всім доброго дня Допоможіть будь ласка доробити задачу:
--Використовуючи модуль реалізації стеку символів, скласти підпрограму - "Витягнути n елементів зі стеку"--
Сам модуль я вже маю:
-----------------------------------------------------------------------------------------------
{ Стек символів }
unit ChStack;
interface
type stack = ^selem; { Стек }
selem = record { Елемент стеку }
d: char;
next: stack
end;
procedure Init(var s: stack); { Почати роботу }
function Empty (s: stack): boolean; { Чи порожній стек? }
procedure Push (var s: stack; c: char); { Вштовхнути елемент у стек }
function Top (s: stack): char; { Верхівка стеку }
procedure Pop (var s: stack); { Забрати верхівку стеку }
implementation
procedure Init(var s: stack);
begin
s := nil
end;
function Empty (s: stack): boolean;
begin
Empty:= s=nil
end;
procedure Push (var s: stack; c: char);
var p: stack;
begin
new(p); p^.d := c; p^.next := s;
s := p
end;
function Top (s: stack): char;
begin
if s = nil then begin
writeln(' Top: Стек порожній'); halt
end;
Top := s^.d
end;
procedure Pop (var s: stack);
var p: stack;
begin
if s = nil then begin
writeln(' Pop: Стек порожній'); halt
end;
p:=s; s:= s^.next; dispose(p)
end;
end.
------------------------------------------------------------------------------------------------
А от підпрограму не можу скласти (ніколи не розумілась а програмуванні)
Тому звертаюся до вас за допомогою. Буду дуже вдячна!
Bartash: код слід брати у теги [ code ].