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

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

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

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

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

textual
Листинг программы
uses System.Linq, System.Globalization;
 
function SameLetters(First, Current : string) : boolean :=
  Enumerable.SequenceEqual(First.ToCharArray().OrderBy(ch -> ch), Current.ToCharArray().OrderBy(ch -> ch));
  
begin
  var words := new List<string>;
  var T := ReadLnString('Введите текст:');
  // var T := 'привет, хахах, лалала притев тервип лала приветт! кц рпр нен цк?';
  
  var P := LowerCase(T).ToWords('.?!'.ToCharArray);
  foreach var S : String in P do
  begin
    var W := S.ToWords(' -+,"/*0123456789'.ToCharArray);
    words.AddRange(W.Where((st, i) -> (i > 0) and SameLetters(W[0], st)));
  end;
 
  if words.Count > 0 then
  begin
    words[0] := (new CultureInfo('ru-RU', False)).TextInfo.ToTitleCase(words[0]);
    T += ' ' + string.Join(' ', words.ToArray()) + '.';
  end;
 
  WriteLn('Получен текст: ', T);
end.

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

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

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


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

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

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