Не выводятся слова, начинающиеся с согласных - PascalABC.NET

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

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

Есть проблема с выводом ответа, почему то не выводит слова начинающиеся с согласных, объясните пожалуйста, что я делаю не так ?

Решение задачи: «Не выводятся слова, начинающиеся с согласных»

textual
Листинг программы
var
  vowel: string := 'aeiouy';
  consonant: string := 'bcdfghjklmnpqrstvwxz';
  st: string;
  
Begin
    // st := ReadString('Введите строку: ');
    st := 'baba asaaa tetete ususus uuuus';
    var res := st.Split('  '.ToCharArray()).Where((s : string) ->
      (s.ToArray().Where((ch, i) -> odd(i)).All(it -> vowel.Contains(it)) and
       s.ToArray().Where((ch, i) -> not odd(i)).All(it -> consonant.Contains(it)))
      or
      (s.ToArray().Where((ch, i) -> not odd(i)).All(it -> vowel.Contains(it)) and
       s.ToArray().Where((ch, i) -> odd(i)).All(it -> consonant.Contains(it)))
    );
    writeln(res);
End.

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

В данном коде задача заключается в том, чтобы вывести из строки все слова, начинающиеся с букв, которые являются гласными или согласными. Список действий, выполняемых в коде:

  1. Инициализируются две строки: vowel и consonant. В первой содержатся гласные буквы, во второй - согласные.
  2. Задается входная строка st, которая представляет собой строку, введенную пользователем.
  3. Строка st разбивается на слова, используя пробел как разделитель. Полученный список слов сохраняется в переменной res.
  4. К каждому слову из списка применяются два условия:
    • Для каждого четного индекса (то есть для каждой буквы, которая является гласной) проверяется, содержит ли текущее слово хотя бы одну гласную букву из строки vowel. Если условие выполняется, слово добавляется в список res.
    • Для каждого нечетного индекса (то есть для каждой буквы, которая является согласной) проверяется, содержит ли текущее слово хотя бы одну согласную букву из строки consonant. Если условие выполняется, слово добавляется в список res.
  5. Выводится список слов, удовлетворяющих условиям, на экран. Пример вывода для строки baba asaaa tetete ususus uuuus: baba asaaa tetete

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


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

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

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