• Задача 2. Текст.
    Разочарованный результатами его последнего конкурса, Дима бросил программирование и сосредоточился исключительно на кропотливой работе, но с участием меньше интеллектуальных усилий. На этот раз, он получает текст и должен вычислить среднюю длину слов текста, слово определяется как непрерывная последовательность символов английского алфавита ('a' .. 'z' , 'A' .. 'Z'). Определим среднюю длину = (общая длина слов текста) / (число слов текста).
    Задание:
    Написать программу, которая решит эту проблему Димы.
    Входные данные
    В первой строке входного файла text.in содержится данный текст.
    Вывод данных
    Выходной файл text.out будет содержать в первой строке целое число, которое представляет среднюю длину слов по всему тексту.
    Ограничения:
    - размер входного файла не превосходит 1 Мб
    - Входной файл будет содержать только прописные и строчные буквы, цифры, пробелы и символы (т.е. не содержат специальные символы)

Ответы 1

  • //Pascal ABC.NET v3.0 сборка 1111type 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
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years