Дан файл, содержащий текст на российском языке. Опредилить: 1. Числа, которые

Дан файл, содержащий текст на российском языке. Опредилить: 1. Числа, которые входят в текст; 2.Определить сколько раз встречается в нем самое краткое слово; 3. Избрать буковкы, которые встречаются только 1 раз в порядке их расположения. С обьясннием пж

Задать свой вопрос
Виолетта Ерлыченкова
Извините, не очень разбираюсь, потому не вижу различия)))
Ольга Остиан
Спасибо, просто я этого не знал
Копакова Анна
Почему?
Илья Вощекин
Хорошо, жду:)
Кирилл Осташко
спасибо
1 ответ
// PascalABC.NET 3.2, сборка 1485 от 15.06.2017
// Внимание! Если программка не работает, обновите версию!

begin
  var s:=ReadAllText('input.txt'); s.Println; // из файла
  var Delimeters:=Arr(' ','-',',','.',')','(',':',Chr(13),Chr(10));
  s:=LowerCase(s);
  var a:=s.ToWords(Delimeters); // массив слов
  Write(Newline,'Числа, входящие в текст: ');
  s.MatchValues('\d').Distinct.OrderBy(x-gt;x).Println;
  var k:=a.MinBy(x-gt;x.Length).Length;
  Write('Самые краткие слова: ');
  a.Where(x-gt;(x.Length=k))
      .GroupBy(x-gt;x).Select(x-gt;x.Key)
      .Where(x-gt;Pos(x,'0123456789')=0).Println(',');
  Write('Буковкы, встречающиеся ровно один раз: ');
  s.ToCharArray.Where(x-gt;not (x in Delimeters))
      .Where(x-gt;not (x in ['0'..'9']))
      .GroupBy(x-gt;x).Select(x-gt;(x.Key,x.Count))
      .OrderBy(x-gt;x[1]).ThenBy(x-gt;x[0])
      .Where(x-gt;x[1]=1).Select(x-gt;x[0]).Println;
end.

Пример
Большой Кавказ простирается более чем на 1100 км с северо-запада
на юго-восток, от района Анапы и Таманского полуострова Чёрного моря
до Апшеронского полуострова на побережье Каспия, рядом с Баку.
Наибольшей ширины Великой Кавказ достигает в районе меридиана Эльбруса
(практически 180 км). В осевой доли размещен Основной Кавказский
(или Водораздельный) хребет, к северу от которого простирается ряд
параллельных хребтов (горных цепей), в том числе моноклинального
(куэстового) нрава). Южный склон Большого Кавказа большей
долею состоит из кулисообразных хребтов, примыкающих к Основному
Кавказскому хребту.
Традиционно Великий Кавказ делится на 3 доли: Западный Кавказ
(от Чёрного моря до Эльбруса), Центральный Кавказ
(от Эльбруса до Казбека) и Восточный Кавказ (от Казбека
до Каспийского моря).

Цифры, входящие в текст: 0 1 3 8
Самые краткие слова: с,и,в,к
Буковкы, встречающиеся ровно один раз: щ
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт