Паскаль ABC.Net Дан произвольный текст ** русском языке. Написать программу, которая...

0 голосов
40 просмотров

Паскаль ABC.Net

Дан произвольный текст на русском языке. Написать программу, которая
выводит слова, начинающиеся на согласную и заканчивающиеся гласной буквой.

Пожалуйста,с комментариями где можно


Информатика (68 баллов) | 40 просмотров
0

foreach a: match in Regex.Matches(s, '^[бвгджзйклмнпрстфхцчшщ].*[аоэиуыеёюя]$') do Write(a.Value, ' ');

0

Хотел регулярку запилить

0

Но она не работает

Дано ответов: 2
0 голосов
Правильный ответ
// PascalABC.NET 3.2, сборка 1467 от 02.06.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var pic:='\b[бвгджзйклмнпрстфхцчшщъь]\S*[аеёиоуыэюя]\b';
  ReadlnString('Введите:').MatchValues(pic,RegexOptions.IgnoreCase)
      .Println(NewLine)
end.

Пример
Введите: А роза упала на лапу Азора, а Карл у Клары украл кораллы.
роза
на
лапу
Клары
кораллы
(150k баллов)
0 голосов

Var
   Text,S:string;
   n,k:boolean;
   i:integer;
Begin
Write('Введите текст на русском языке: ');ReadLn(Text);
Text:=LowerCase(Text)+' '; // перевоит текст в нижний регистр
WriteLn(Text); // показывает действие предыдущей строки
For i:= 1 to Length(Text) do
    Begin
    if ('а' <= Text[i])and(Text[i] <= 'я')or(Text[i] = 'ё') then S:=S+Text[i] // записываем русские буквы в S<br>    else // как только встречаем другой символ, проверяем,
       if Length(S) > 0 then // есть ли в S хоть одна буква,
          Begin // и если есть, то проверяем условие задачки, и выводим слово на экран, если оно истинно
          if (S[1] in 'бвгджзйклмнпрстфхцчшщ')and(S[Length(S)] in 'аоэиуыеёюя') then WriteLn(S);
          S:=''; // далее обнуляем S
          End;
    End;
End.


Пример работы программы:

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

(6.6k баллов)