
(pos(buf[i-1],separators)=0)
pos(buf[i],separators)=0
Если i-ый символ строки buf не есть разделитель то
увеличим счетчик количества букв в строке
в другом случае
если (символ перед i-ым элементом строки buf был не разделителем) и (i не является единицей) то
увеличим счетчик количества слов в строке
123 1
Если i-ый символ строки buf есть буквой то
увеличим счетчик количества букв в строке
в другом случае
увеличим счетчик количества слов в строке
program kyrs;
const
Iscl=',.!?:;- ';
var f1,f2:text;
kolb,kolc,i:byte;
str,SourceFile,ResultFile:string;
procedure schet_slov (var kolc:byte;var str:string);
var i:byte;
begin
if ((pos(str[i-1],Iscl)=0) and ((i-1)<>0)) then
inc(kolc);
if pos(str[length(str)],Iscl)=0 then
inc(kolc);
end;
begin
writeln('‚ўҐ¤ЁвҐ Ё¬п д ©« -Ёбв®зЁЄ ');
readln(SourceFile);
assign(f1,SourceFile);
{$I-}
reset(f1);
{$I+}
if IoResult<>0 then
begin
writeln('ЋиЁЎЄ ў Ё¬ҐЁ д ©« ');
readln;
exit;
end;
writeln('‚ўҐ¤ЁвҐ Ё¬п д ©« -१г«мв в ');
readln(ResultFile);
assign(f2,ResultFile);
{$I-}
rewrite(f2);
{$I+}
if IoResult<>0 then
begin
writeln('ЋиЁЎЄ ў Ё¬ҐЁ д ©« ');
readln;
exit;
end;
while not eof(f1) do
begin
readln(f1,str);
kolb:=0;
kolc:=0;
for i:=1 to length(str) do
if pos(str[i],Iscl)=0 then
inc(kolb)
else
schet_slov(kolc,str);
writeln(f2,kolb/kolc);
end;
close(f1);
close(f2);
end.
kolb:=0;
kolc:=0;
for i:=1 to length(str) do
if pos(str[i],Iscl)=0 then
inc(kolb)
else
schet_slov(kolc,str);
writeln(f2,kolb/kolc);
if n<>0 then
writeln(tr,s/n)
else
writeln(tr,0);
if n<>0 then
writeln(tr,s/n)
else
writeln(tr,0);