Удалить все слова, начинающиеся с гласной буквы - Turbo Pascal

Формулировка задачи:

В текстовом файле удалить все слова, начинающиеся с гласной буквы

Код к задаче: «Удалить все слова, начинающиеся с гласной буквы - Turbo Pascal»

textual
const nf = 'd:\text.txt';
      nt = 'd:\temp.tmp';
      wove = ['А', 'а', 'Е', 'е', 'Ё', 'ё', 'И', 'и', 'О', 'о',
              'У', 'у', 'Ы', 'ы', 'Э', 'э', 'Ю', 'ю', 'Я', 'я',
              'A', 'a', 'E', 'e', 'I', 'i', 'O', 'o', 'U', 'u']; {можете добавить Yy, но, вообще-то, эта БУКВА согласная}
      sp = [' ', '.', ',', '!', '?', ':', ';']; {можно ещё немножко добавить (одиночных!) разделителей}
var f, t: text;
    si, so: string;
    i: integer;
    fwove: boolean;
begin
  assign(f, nf);
  reset(f);
  assign(t, nt);
  rewrite(t);
  while not eof(f) do
    begin
      readln(f, si);
      si := ' ' + si;
      so := '';
      fwove := false;
      for i := 2 to length(si) do
        begin
          if (si[i - 1] in sp) and not (si[i] in sp) then fwove := si[i] in wove;
          if not fwove then so := so + si[i]
        end;
      if length(so) > 0 then writeln(t, so)
    end;
  close(f);
  close(t);
  erase(f);
  rename(t, nf)
end.

12   голосов, оценка 4.167 из 5


СОХРАНИТЬ ССЫЛКУ