Подсчитать количество букв “к” в самом длинном слове - PascalABC.NET
Формулировка задачи:
Здравствуйте! Помогите, пожалуйста, с задачей
7. В заданном русском тексте слова разделены не менее чем одним пробелом.
a. подсчитать количество букв “к” в самом длинном слове.
b. подсчитать количество слов- палиндромов.
c. подсчитать сколько различных символов в каждом слове.
Решение задачи: «Подсчитать количество букв “к” в самом длинном слове»
textual
Листинг программы
begin var L := System.IO.&File.ReadAllText(ReadLnString('Имя файла:'), System.Text.Encoding.UTF8). Split((NewLine + ' ,."?-!();:[]*/<>0123456789''—…«»').ToCharArray()).Distinct(System.StringComparer.CurrentCultureIgnoreCase); var longest := L.OrderByDescending((s : string) -> Length(s)).FirstOrDefault(); writeln('a) самое длинное слово: ', longest, '; букв "к" в нем: ', Length(longest) - Length(longest.Replace('к', ''))); var p := L.Where((s : string) -> (Length(s) > 1) and string.Equals(s, ReverseString(s),System.StringComparison.CurrentCultureIgnoreCase)); writeln('b)' + string.Join(NewLine, p.ToArray()) + NewLine + 'количество слов - палиндромов: ', p.Count()); writeln('c) количество различных символов в каждом слове:' + NewLine + string.Join(NewLine, L.Select((s : string) -> s + ' -> ' + IntToStr(s.ToCharArray().Distinct().Count())).ToArray())); end.
Объяснение кода листинга программы
- Переменная
L
инициализируется текстом, который считывается из файла, указанного пользователем. - Далее текст разбивается на массив строк, используя символы новой строки как разделители.
- В строке 2 кода используется метод Distinct() для удаления дубликатов из массива строк.
- Затем, с помощью метода OrderByDescending(), самый длинный элемент массива помещается в начало списка.
- Первая строка вывода выводит самое длинное слово и количество букв
к
в нем. - Вторая строка вывода выводит все слова, которые являются палиндромами.
- Третья строка вывода выводит количество уникальных символов в каждом слове.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д