You are on page 1of 2

Програма:

program labka13_25(input, output);


type
zv = ^pointer5;
pointer5 = record
elem : char;
next : zv
end;
var
vslov, vlan : zv;
sym, b : char;
k : integer;

procedure vstav(lanka : zv; buk : char);


var
q : zv;
begin
new(q);
q^.elem := buk;
q^.next := lanka^.next;
lanka^.next := q
end;

begin
new(vslov);
vslov^.next := nil;
vlan := vslov;
k := 0;
b := 'K';
writeln('Enter symbols up to #');
repeat
read(sym);
vstav(vlan, sym);
vlan := vlan^.next;
until sym = '#';
writeln;
writeln('Formed list is : ');
vlan := vslov;
vlan := vlan^.next;
while vlan^.next <> nil do
begin
write(vlan^.elem);
vlan := vlan^.next;
end;
writeln;
vlan := vslov;
vlan := vlan^.next;
while vlan^.next <> nil do
begin
if vlan^.elem = 'K' then
k := k + 1;
vlan := vlan^.next;
end;
writeln;
if k = 0 then
begin
vlan := vslov;
vlan := vlan^.next;
while vlan^.next^.next <> nil do
begin
vlan := vlan^.next;
end;
end;
vstav(vlan, b);
writeln('Edited list is : ');
vlan := vslov;
vlan := vlan^.next;
while vlan^.next <> nil do
begin
write(vlan^.elem);
vlan := vlan^.next;
end;
writeln
end.

Блок-схема головного алгоритму:

Блок-схема процедури vstav:

You might also like