Подсчитать количество элементов списка, у которых равные соседи.
Посмотрите и исправьте, пожалуйста, мой код::
type
Tinf = integer;
Tptr = ^Tlist;
Tlist = record
inf:Tinf;
next,prev:Tptr;
end;
var
A:Tptr;
procedure create_list (var L:Tptr );
var e:Tinf;
begin
L:=nil;
while not eoln do
begin
read (e);
L:=new(Tptr);
L^.next:=nil;
L^.prev:=nil;
L^.inf:=e;
end;
readln
end;
function count (L:Tptr):integer;
var pl_1, pl_2: tptr; k:integer;
begin
k:=0;
L:=L^.next;
while (L <> nil) do
begin
pl_2 := L;
pl_1 := L;
pl_1:=pl_1^.next;
pl_2:=pl_2^.prev;
if pl_1^.inf = pl_2^.inf then
k:=k+1
else
L:=L^.next;
end;
count := k;
end;
{удаление списка}
Procedure ListDestroy(var L:Tptr);
var
p:Tptr;
begin
While L^.next <> Nil Do L:=L^.Next;
While L <> Nil Do
Begin
P:=L;
L:=L^.Prev;
Dispose(P);
End;
end;
begin {main}
write ('Введите элементы списка: ');
create_list(A);
writeln ('количество элементов списка, у которых равные соседи: ', count (A));
ListDestroy (A);
readln;
end.