Описать процедуру, которая печатает все буквы, входящие в строку более К раз, с указанием количества вхождений - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

PascalABC.NET - Описать процедуру, которая печатает все буквы, входящие в строку более К раз, с указанием количества вхождений

Решение задачи: «Описать процедуру, которая печатает все буквы, входящие в строку более К раз, с указанием количества вхождений»

textual
Листинг программы
begin
  var k := ReadlnInteger('K =');
  writeln(ReadlnString('Строка:').Where(v -> v.IsLetter).GroupBy(v -> v).Where(v -> v.Count > k)
    .Select(v -> Format('{0} - {1} раз(а)', v.First, v.Count)).JoinIntoString(NewLine));
end.

Объяснение кода листинга программы

В данном коде происходит следующее:

  1. Ввод значения переменной k с помощью функции ReadlnInteger.
  2. Ввод строки с помощью функции ReadlnString.
  3. Применение метода Where к введенной строке, который отфильтровывает только буквы.
  4. Применение метода GroupBy к полученной строке, который группирует буквы по их значению.
  5. Применение метода Where к полученным группам, который отфильтровывает группы, содержащие более k элементов.
  6. Применение метода Select к полученным группам, который выводит количество вхождений каждой буквы в формате буква - количество раз(а).
  7. Применение метода JoinIntoString к полученным результатам, который объединяет все строки в одну строку, разделяя их символом новой строки.
  8. Вывод полученной строки с помощью функции writeln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.615 из 5
Похожие ответы