Код
uses crt;
type
spisok = ^Elem;
elem = record
c:char;
next:spisok
end;
var
str,ut,E:spisok;
s:pointer;
sm:char;
procedure input;
var sim:char;
begin
Write('Введите вставляемый символ:');
readln(sm);
write('Введите строку:');
ut:=str;
while sim<>'.' do
begin
read(sim);
if sim <> '.' then
begin
ut^.c:=sim;
new(ut^.next);
ut:=ut^.next;
end
else
begin
ut^.c:='.';
ut^.next:=nil;
end;
end;
end;
procedure vstavka;
begin
new(E);
e^.c:=sm;
E^.next:=nil;
ut:=str;
while ut^.next<>nil do
begin
ut:=ut^.next;
end;
ut^.next:=e;
end;
procedure output;
var
sim:char;
begin
write('Исходная:');
ut:=str;
while ut<>nil do
begin
write(ut^.c);
ut:=ut^.next;
end;
Vstavka;
writeln;
write('Полученная:');
ut:=str;
while ut<>nil do
begin
write(ut^.c);
ut:=ut^.next;
end;
writeln;
end;
begin
new(str);
mark(s);
input;
output;
release(s);
readkey
end.