Найдите ошибку. Программа должна считать количество слов в тексте, при этом пробелы и другие знаки препинания могут идти неразрывно подряд.
var S,b,h: string;
k,z,v,x,i: integer;
a: array [1..7] of string;
begin
readln(S);
a[1]:=' ';
a[2]:=':';
a[3]:=';';
a[4]:='.';
a[5]:=',';
a[6]:='?';
a[7]:='!';
k:=1;
while x<>0 do
begin
for i:= 1 to 7 do
while z<>0 do
begin
z:=pos(a,S);
if z<>0 then
begin
delete(S,z,1);
h:=copy(S,z,1);
while h=a do
delete(S,z,1);
k:=k+1;
end;
end;
x:=length(S);
end;
writeln(k);
end.
var S,b,h: string;
k,z,v,x,i: integer;
a: array [1..7] of string;
begin
readln(S);
a[1]:=' ';
a[2]:=':';
a[3]:=';';
a[4]:='.';
a[5]:=',';
a[6]:='?';
a[7]:='!';
k:=1;
while x<>0 do
begin
for i:= 1 to 7 do
while z<>0 do
begin
z:=pos(a,S);
if z<>0 then
begin
delete(S,z,1);
h:=copy(S,z,1);
while h=a do
delete(S,z,1);
k:=k+1;
end;
end;
x:=length(S);
end;
writeln(k);
end.