1) var s,w:string; p:integer; begin readln(s); s:=s+' '; p:=pos(' ',s); while p>0 do begin w:=copy(s,1,p-1); writeln(w,' - ',length(w)); delete(s,1,p); p:=pos(' ',s); end; end.
Пример: Слова в тексте разделены пробелом Слова - 5 в - 1 тексте - 6 разделены - 9 пробелом - 8
2) var s,w:string; k,i:integer; begin readln(s); s:=s+' '; w:=''; k:=0; for i:=1 to length(s) do if s[i]<>' ' then begin w:=w+s[i]; k:=k+1; end else begin writeln(w,' - ',k); w:=''; k:=0; end; end.
Answers & Comments
Verified answer
1)var s,w:string; p:integer;
begin
readln(s);
s:=s+' ';
p:=pos(' ',s);
while p>0 do
begin
w:=copy(s,1,p-1);
writeln(w,' - ',length(w));
delete(s,1,p);
p:=pos(' ',s);
end;
end.
Пример:
Слова в тексте разделены пробелом
Слова - 5
в - 1
тексте - 6
разделены - 9
пробелом - 8
2)
var s,w:string; k,i:integer;
begin
readln(s);
s:=s+' ';
w:=''; k:=0;
for i:=1 to length(s) do
if s[i]<>' ' then begin w:=w+s[i]; k:=k+1; end
else begin writeln(w,' - ',k); w:=''; k:=0; end;
end.