Задача 2. Текст. Разочарованный результатами его последнего конкурса, Дима бросил программирование и сосредоточился исключительно на кропотливой работе, но с участием меньше интеллектуальных усилий. На этот раз, он получает те...

Задача 2. Текст. Разочарованный результатами его последнего конкурса, Дима бросил программирование и сосредоточился исключительно на кропотливой работе, но с участием меньше интеллектуальных усилий. На этот раз, он получает текст и должен вычислить среднюю длину слов текста, слово определяется как непрерывная последовательность символов английского алфавита ('a' .. 'z' , 'A' .. 'Z'). Определим среднюю длину = (общая длина слов текста) / (число слов текста). Задание: Написать программу, которая решит эту проблему Димы. Входные данные В первой строке входного файла text.in содержится данный текст. Вывод данных Выходной файл text.out будет содержать в первой строке целое число, которое представляет среднюю длину слов по всему тексту. Ограничения: - размер входного файла не превосходит 1 Мб - Входной файл будет содержать только прописные и строчные буквы, цифры, пробелы и символы (т.е. не содержат специальные символы)
Гость
Ответ(ы) на вопрос:
Гость
//Pascal ABC.NET v3.0 сборка 1111 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
Не нашли ответ?
Ответить на вопрос
Похожие вопросы