Перечислить все слова каждого предложения, которые состоят из тех же букв, что и первое слово - PascalABC.NET

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

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

Ребят, выручайте Перечислить все слова каждого предложения, которые состоят из тех же букв, что и первое слово данного предложения. Из этих слов организовать новое предложение и записать его в конец исходного текста.

Решение задачи: «Перечислить все слова каждого предложения, которые состоят из тех же букв, что и первое слово»

textual
Листинг программы
  1. uses System.Linq, System.Globalization;
  2.  
  3. function SameLetters(First, Current : string) : boolean :=
  4.   Enumerable.SequenceEqual(First.ToCharArray().OrderBy(ch -> ch), Current.ToCharArray().OrderBy(ch -> ch));
  5.  
  6. begin
  7.   var words := new List<string>;
  8.   var T := ReadLnString('Введите текст:');
  9.   // var T := 'привет, хахах, лалала притев тервип лала приветт! кц рпр нен цк?';
  10.  
  11.   var P := LowerCase(T).ToWords('.?!'.ToCharArray);
  12.   foreach var S : String in P do
  13.   begin
  14.     var W := S.ToWords(' -+,"/*0123456789'.ToCharArray);
  15.     words.AddRange(W.Where((st, i) -> (i > 0) and SameLetters(W[0], st)));
  16.   end;
  17.  
  18.   if words.Count > 0 then
  19.   begin
  20.     words[0] := (new CultureInfo('ru-RU', False)).TextInfo.ToTitleCase(words[0]);
  21.     T += ' ' + string.Join(' ', words.ToArray()) + '.';
  22.   end;
  23.  
  24.   WriteLn('Получен текст: ', T);
  25. end.

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

В данном коде используется функция SameLetters, которая проверяет, содержат ли две строки одинаковые буквы (по сути, она проверяет, равны ли два множества букв, полученных из строк). В начале кода объявлены две переменные: words (список слов) и T (исходная строка). Затем из T получаются все слова (включая предлоги и знаки препинания) и добавляются в список words, если они состоят из тех же букв, что и первое слово. Далее из списка words удаляется первое слово (поскольку оно уже было учтено при формировании списка words), а также приводится к верхнему регистру первое слово в списке words (это делается для того, чтобы первое слово в итоговой строке было с заглавной буквы). Затем из списка words формируется строка, которая добавляется в конец исходной строки T. Наконец, итоговая строка выводится на экран.

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


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

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

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы