Описать процедуру, которая печатает все буквы, входящие в строку более К раз, с указанием количества вхождений - 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.
Объяснение кода листинга программы
В данном коде происходит следующее:
- Ввод значения переменной
k
с помощью функции ReadlnInteger. - Ввод строки с помощью функции ReadlnString.
- Применение метода Where к введенной строке, который отфильтровывает только буквы.
- Применение метода GroupBy к полученной строке, который группирует буквы по их значению.
- Применение метода Where к полученным группам, который отфильтровывает группы, содержащие более
k
элементов. - Применение метода Select к полученным группам, который выводит количество вхождений каждой буквы в формате
буква - количество раз(а)
. - Применение метода JoinIntoString к полученным результатам, который объединяет все строки в одну строку, разделяя их символом новой строки.
- Вывод полученной строки с помощью функции writeln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д