2. текст. разочарованный результатами его последнего конкурса, дима бросил программирование и сосредоточился исключительно на кропотливой работе, но с участием меньше интеллектуальных усилий. на этот раз, он получает текст и должен вычислить среднюю длину слов текста, слово определяется как непрерывная последовательность символов алфавита ('a' .. 'z' , 'a' .. 'z'). определим среднюю длину = (общая длина слов текста) / (число слов текста). : написать программу, которая решит эту проблему димы. входные данные в первой строке входного файла text.in содержится данный текст. вывод данных выходной файл text.out будет содержать в первой строке целое число, которое представляет среднюю длину слов по всему тексту. ограничения: - размер входного файла не превосходит 1 мб - входной файл будет содержать только прописные и строчные буквы, цифры, пробелы и символы (т.е. не содержат специальные символы)
type
ty=set of char;
Const
t:ty=['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
Var
f:text;
s:string;
i,slo,ks:integer;
k:real;
begin
assign(f,'text.in');
reset(f);
while not Eof(f) do read(f,s);
close(f);
slo:=0;
ks:=0;
for i:=1 to length(s) do
if s[i] in t then inc(slo) else
begin;
k:=k+slo;
inc(ks);
slo:=0;
end;
if s[length(s)] in t then
begin;
inc(ks);
k:=k+slo;
end;
k:=k/ks;
assign(f,'text.out');
rewrite(f);
write(f,k);
close(f);
end.
Пример ввода(text.in):
SIMPLE text
Пример вывода(text.out):
5