type luggage=record
fio: String[20];
number: Integer;
weight: Real
end ;
type uk=^lug;
lug=record
data:luggage;
next:uk;
end;
procedure PrintList (head:uk);
var x:uk;
i:integer;
begin
x:=head;
i:=1;
while x<>nil do
begin
with x^.data do
writeln(i:2,' ',fio:20,' ',number:2,' ',weight:3);
inc(i);
x:=x^.next
end
end;
procedure AddFirst(var head:uk);
var x:luggage;
a:string[20];
b:integer;
c:real;
tmp:uk;
begin
Write('Имя пассажира ');
Readln(a);
x.fio:=a;
Write('Количество вещей ');
Readln(b);
x.number:=b;
Write('Вес ');
Readln©;
x.weight:=c;
new(tmp);
tmp^.data:=x;
tmp^.next:=head;
head:=tmp;
end;
var head,tmp:uk;
n,i,k,z,l:integer;
x:luggage;
m,s:real;
begin
head:=nil;
write('введите число пассажиров ');
readln(n);
i:=0;
for i:=1 to n do begin
AddFirst(head);
end;
PrintList(head);
k:=0;
tmp:=head;
z:=tmp^.data.number;
While tmp^.next <> nil do begin
if z= tmp^.data.number then
k:=k+1;
end;
writeln('k=',k);
readln;
end .
не может выйти из последнего цикла. Я немного запуталась с указателями, поэтому не могу найти ошибку. прошу помощи.