Не выводятся слова, начинающиеся с согласных - 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.
Объяснение кода листинга программы
В данном коде задача заключается в том, чтобы вывести из строки все слова, начинающиеся с букв, которые являются гласными или согласными. Список действий, выполняемых в коде:
- Инициализируются две строки: vowel и consonant. В первой содержатся гласные буквы, во второй - согласные.
- Задается входная строка st, которая представляет собой строку, введенную пользователем.
- Строка st разбивается на слова, используя пробел как разделитель. Полученный список слов сохраняется в переменной res.
- К каждому слову из списка применяются два условия:
- Для каждого четного индекса (то есть для каждой буквы, которая является гласной) проверяется, содержит ли текущее слово хотя бы одну гласную букву из строки vowel. Если условие выполняется, слово добавляется в список res.
- Для каждого нечетного индекса (то есть для каждой буквы, которая является согласной) проверяется, содержит ли текущее слово хотя бы одну согласную букву из строки consonant. Если условие выполняется, слово добавляется в список res.
- Выводится список слов, удовлетворяющих условиям, на экран.
Пример вывода для строки
baba asaaa tetete ususus uuuus
:baba asaaa tetete
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д