
Другие языки программирования и технологии
Помогите с Pascal 7.0!Кто чем может!

Доброго времени суток.
В первой задаче все значительно проще.
procedure DelCh(var F : MyFile);
begin
n := FileSize(F); {определяем число символов в файле}
if n > 1 then begin {проверяем, есть ли предпоследний}
Seek(F, n-1); {позиционируем указатель на последний (нумерация с 0)}
Read(F, Ch); {читем его}
Seek(F, n-2); {указатель на предпоследний}
Write(F,Ch); {записываем символ}
Truncate(F); {отсекаем файл в текущей позиции}
end;
end;
Вот и все. Использовать массив строк сомнительно, т. к. заранее не известно число символов в файле, следовательно, есть вероятность промахнуться с размерностью массива. Можно, конечно, закрутить с динамическими списками, только незачем все это.. .
Во второй, пока не конец файла, читаете записи в переменную такой же структуры и строите список возможных ростов. Затем в цикле для каждого элемента списка сбрасываете файл в начало, читаете запись и при совпадении роста с элементом списка выводите фамилию. Список можно отсортировать, чтобы фамилии выводились по увеличению (уменьшенгию) роста.
3. Открываете входной файл, создаете временный файл. Читаете из входного файла строки, из строк выделяете слова, а затем проверяете каждое слово на вхождение в него букв из имени. Например так.
NameS := 'qwer'; {строка с буквами имени (без повторений) }
AllChars := True; {предположим, все символы входят в слово}
for i:=1 to Length(NameS) do {просматриваем все символы имени}
if Pos(NameS[ i ], CurrWord) = 0 then begin {очередной символ имени не входит в слово}
AllChars := False; {сбрасываем флаг}
Break; {прекращаем проверять}
end;
if not AllChars then begin
{формируете выходную строку и если во входной строке проверены все слова, пишете ее в выходной файл}
end;
Здесь CurrWord - очередное проверяемое слово
После обработки всего входного файла удаляете его и переименовываете временный.
Удачи!
В первой задаче все значительно проще.
procedure DelCh(var F : MyFile);
begin
n := FileSize(F); {определяем число символов в файле}
if n > 1 then begin {проверяем, есть ли предпоследний}
Seek(F, n-1); {позиционируем указатель на последний (нумерация с 0)}
Read(F, Ch); {читем его}
Seek(F, n-2); {указатель на предпоследний}
Write(F,Ch); {записываем символ}
Truncate(F); {отсекаем файл в текущей позиции}
end;
end;
Вот и все. Использовать массив строк сомнительно, т. к. заранее не известно число символов в файле, следовательно, есть вероятность промахнуться с размерностью массива. Можно, конечно, закрутить с динамическими списками, только незачем все это.. .
Во второй, пока не конец файла, читаете записи в переменную такой же структуры и строите список возможных ростов. Затем в цикле для каждого элемента списка сбрасываете файл в начало, читаете запись и при совпадении роста с элементом списка выводите фамилию. Список можно отсортировать, чтобы фамилии выводились по увеличению (уменьшенгию) роста.
3. Открываете входной файл, создаете временный файл. Читаете из входного файла строки, из строк выделяете слова, а затем проверяете каждое слово на вхождение в него букв из имени. Например так.
NameS := 'qwer'; {строка с буквами имени (без повторений) }
AllChars := True; {предположим, все символы входят в слово}
for i:=1 to Length(NameS) do {просматриваем все символы имени}
if Pos(NameS[ i ], CurrWord) = 0 then begin {очередной символ имени не входит в слово}
AllChars := False; {сбрасываем флаг}
Break; {прекращаем проверять}
end;
if not AllChars then begin
{формируете выходную строку и если во входной строке проверены все слова, пишете ее в выходной файл}
end;
Здесь CurrWord - очередное проверяемое слово
После обработки всего входного файла удаляете его и переименовываете временный.
Удачи!
1. Проходя по всему файлу с помощью EOF записывай инфу например в массив строк. потом в этом массиве удали предпоследний элемент. и перепеши обратно этот файл из массива.
Похожие вопросы
- turbo pascal 7.0 Определить принадлежность к области точек с заданными координатами!!!
- Для тех кто разбирается в Turbo Pascal 7.0 помогите плиз))))
- Turbo Pascal 7.0 помогите пожалуйста!!!
- turbo pascal 7.0!
- Помогите написать задачу на Pascal 7.0
- Turbo pascal 7.0,задача
- 1.Рекурсия в языке программирования Borland Pascal 7.0. 2.Понятие и виды информации. Ее свойства.
- В чём разница С++,С#,Turbo Pascal 7.0!И что лучше и легче?
- Подскажите чайнику!Что означает этот знак ^ в Pascal 7.0?
- Для чего в школах преподают Turbo Pascal 7.0?