Удалить из строки все слова, в которых отсутствуют гласные буквы - PascalABC.NET
Формулировка задачи:
С клавиатуры вводится строка, состоящая из слов на русском языке, отделённых друг от друга одним или несколькими пробелами. Удалить из строки все слова, в которых отсутствуют гласные буквы. Вывести полученную строку на экран.
Решение задачи: «Удалить из строки все слова, в которых отсутствуют гласные буквы»
textual
Листинг программы
const
RGL=['А','а','Е','е','Ё','ё','И','и','О','о','У','у','Э','э','Ю','ю','Я','я'];
var
sout:string;
begin
sout:='';
foreach s:string in ReadString('Введите строку:').
Split(new string[1](' '),System.StringSplitOptions.RemoveEmptyEntries).ToArray() do
if s.ToCharArray.where(c->c in RGL).count()>0 then sout:=sout+s+' ';
if sout='' then writeln('Нет слов содержащих русские гласные буквы') else
writeln('Новая строка:',sout);
end.
Объяснение кода листинга программы
- Объявлены константа RGL, содержащая все гласные буквы, и переменная sout, которая будет хранить результат.
- Входная строка разделяется на слова, которые добавляются в sout, если они содержат гласные буквы.
- Если sout пуст, выводится сообщение
Нет слов содержащих русские гласные буквы. - Иначе выводится новая строка.