Решение
Тема: работа со строками
Сложность: ниже среднего
Проходим по строке, если встречается гласная, и это не первая гласная в слове, проверяем, какая буква стоит перед ней (так как это не первая гласная, то какая-то буква перед ней точно есть). Если согласная, но не '
h', то вставляем перед ней '
-'. Если буква '
h' – смотрим предыдущую букву (аналогично, так как это не первая гласная, перед '
h' должна быть ещё буква), в случае гласной вставляем '
-' перед '
h', в случае согласной – перед предыдущей буквой. При вставке символа '
-' для перехода к следующей букве увеличиваем индекс
`i` не на 1, а на 2.
var s:string;
i,n:integer;
begin
readln(s);
i:=1;
n:=0;
while i<=length(s) do
begin
if pos(s[i],'aeiou')>0 then
begin
inc(n);
if n>1 then
begin
if s[i-1]='h' then
begin
if pos(s[i-2],'aeiou')>0 then
insert('-',s,i-1)
else
insert('-',s,i-2);
inc(i);
end
else if pos(s[i-1],'aeiou')=0 then
begin
insert('-',s,i-1);
inc(i);
end;
end;
end;
inc(i);
end;
writeln(s);
end.