Type
stek = ^vs;
vs = record
bykba: char; { буква из строки... }
next: stek; { Указатель на новый элемент стэка }
end;
var
a, adr, adr1: stek; { а-указатель который передвигается по стэку }
{ adr-указатель начала стэка (ещё называют "вершина стэка") }
{ adr1-вспомогательный указатель, для создания следующего элемента стэка }
i, n: integer;
s:string;
begin
repeat
Writeln('Введите строку');
readln(s); { в раздел var надо добавить s:string }
until length(s) > 1;
new(a);
a^.next := nil;
a^.bykba := s[1];
adr := a; { запоминаем адрес первого элемента стэка }
adr1 := nil;
n := length(s);
for i := 2 to n do
begin
new(adr1);
adr1^.next := a;
a := adr1;
adr := a; { указатель как-бы поднимается вместе с ростом стэка }
a^.bykba := s[i]; { присваиваем i-ую букву строки s }
end;
a := adr;
while a <> nil do
begin
Write(a^.bykba);
a := a^.next
end;
readln;
end.