Var a,d,e:string; c:real; f:integer; begin writeln('введите предложение отделяя каждое слово новой строкой'); readln(a); c:=0; while (a<>b) do begin if length(a) = 3 then c:=c+1; readln(a); end; writeln(c); end. тут один минус , каждое новое слово надо вводить через enter совершенно не используя пробела и точку тоже чнрез enter
var s : string; k,l,i,p : integer; begin readln (s); l := Length(s); k := 0; for i := 1 to l do begin if (s[i] <> ' ') and (s[i] <> '.') then k := k +1 else begin if k = 3 then begin for p := i-3 to i-1 do write (s[p]); write (' '); end; k := 0; end; end; end.
Вводиться строка, считается что все слова разделены пробелом между собой, и строка оканчиватся точкой.
Answers & Comments
Verified answer
Var a,d,e:string;c:real;
f:integer;
begin
writeln('введите предложение отделяя каждое слово новой строкой');
readln(a);
c:=0;
while (a<>b) do begin
if length(a) = 3 then
c:=c+1;
readln(a);
end;
writeln(c);
end.
тут один минус , каждое новое слово надо вводить через enter совершенно не используя пробела и точку тоже чнрез enter
var
s : string;
k,l,i,p : integer;
begin
readln (s);
l := Length(s);
k := 0;
for i := 1 to l do
begin
if (s[i] <> ' ') and (s[i] <> '.') then
k := k +1
else
begin
if k = 3 then
begin
for p := i-3 to i-1 do
write (s[p]);
write (' ');
end;
k := 0;
end;
end;
end.
Вводиться строка, считается что все слова разделены пробелом между собой, и строка оканчиватся точкой.