Помощь - Поиск - Пользователи - Календарь
Полная версия: типизированные файлы прямого доступа
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Arashi
Всем привет, помогите решить задачку если не сложно rolleyes.gif
Нужно сформировать символьный файл, там переставить в конец файла его 1й компонент который есть гласной буквой и стоит между двумя согласными. В задаче запрещается использование массивов dry.gif
Client
Цитата
1й компонент который есть гласной буквой и стоит между двумя согласными
Это как?
Цитата
В задаче запрещается использование массивов
Сделай через список
Arashi
Цитата(Client @ 22.04.2009 20:41) *

Это как?

не знаю 8) потому и прошу помощи)

Если кто-то шарит, будьте добры, напишите листинг программы.
volvo
Цитата
Сделай через список
Не надо оно здесь. Задача не на динамические структуры, а на файлы. Достаточно двух переменных типа Char, чтоб обработать файл любой длины:
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 { просмотр файла - результата } ;



Добавлено через 2 мин.
Цитата
не знаю 8) потому и прошу помощи)
То есть, у тебя проблема с пониманием задачи? Ну, вот пример: start, здесь a - первая гласная, которая стоит между двумя согласными, ее надо перенести в конец файла, чтобы получилось strta ... Теперь понятнее?
Arashi
ух ты, спасибо большое, в тексте разобралась и задание поняла good.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.