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

const
vowels = ['a', 'e', 'o', 'i', 'u']; { гласные буквы }
cons = ['a' .. 'z'] - vowels; { согласные буквы }
...
{ Тут создание файла - это на самостоятельную работу }
reset(f);
state := 0;
while not eof(f) do begin
case state of
0:
begin
read(f, ch);
if ch in cons then state := 1;
end;
1:
begin
read(f, ch);
if ch in vowels then state := 2;
end;
2:
begin
read(f, ch);
if ch in cons then state := 3 else state := 0;
end;
3:
begin
seek(f, filepos(f) - 2);
read(f, saved);
while not eof(f) do begin
read(f, ch);
seek(f, filepos(f) - 2);
write(f, ch);
seek(f, filepos(f) + 1);
end;
seek(f, filesize(f) - 1);
write(f, saved);
end;
end;
end;
close(f);
if state <> 3 then writeln('not found')
else { просмотр файла - результата } ;