Помощь - Поиск - Пользователи - Календарь
Полная версия: типизированные файлы прямого доступа
Форум «Всё о Паскале» > 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
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.