Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Образовательный студенческий форум _ Информатика / Программирование _ В Паскале 2 задачки

Автор: Марковка 18.4.2009, 11:57

1. Дан текстовый файл f. Получить самую длинную строку файла. Если в файле имеется несколько строк с наибольшей длиной, то получить первую из них.

2. Символьный файл содержит различные буквы латинского алфавита. Убрать из этого файла все буквы 'а'.

мне очень очень очень нужно сдать эти задачки. я в текстовых и прочих файлах совсем ни бум-бум. помогите, пожалуйста. очень надеюсь на Вашу помощь.

Автор: tig81 18.4.2009, 12:23

http://www.prepody.ru/ipb.html?act=boardrules
Где ваши идеи, наработк?

Автор: Марковка 18.4.2009, 12:34

я бы с радостью, только вот именно по этим задачам, я вообще не в курсе как делать. мы просто совсем этого не проходили. все остальное: матрица, массивы, последовательности, это и идеи и наработки. а вот с текстовыми файлами и вообще с файлами я не знаю что делать, поэтому и прошу помощи...

Автор: tig81 18.4.2009, 12:47

Цитата(Марковка @ 18.4.2009, 15:34) *

я бы с радостью, только вот именно по этим задачам, я вообще не в курсе как делать. мы просто совсем этого не проходили. все остальное: матрица, массивы, последовательности, это и идеи и наработки. а вот с текстовыми файлами и вообще с файлами я не знаю что делать, поэтому и прошу помощи...

Что дал поиск? В каких книгах смотрели?

Автор: Inspektor 18.4.2009, 13:36

Цитата(tig81 @ 18.4.2009, 16:47) *

В каких книгах смотрели?

Ясен пень- нет. Методичка тоже не открывалась.
http://hosting.ulstu.ru/ip/file_p.html краткое описание, но для таких задач достаточно

Автор: Марковка 18.4.2009, 13:37

смотрела. разобралась, что такое assign,rewrite,reset,знаю теперь, что есть длина строки length, что строка в разделе описания переменных обозначается string, могу создать текстовый файл, открыть и все такое по-мелочи. а вот как это все связать в решение задачи пока не понимаю.., а насчет убрать все буквы "а", по-моему тоже есть оператор что-то типа delete, а может я ошибаюсь.

Автор: Inspektor 18.4.2009, 13:55

Вторая задача:
1) открыть исходный файл для чтения и создать вспомогательный для записи.
2) читать один символ из первого и если это не "a", то записать его во вспомогательный.
3) когда файл будет полностью прочитан, удалить его, а вспомогательный переименовать.

Касательно первой задачи- может ли строка в файле быть длиннее 255 символов?

Автор: Марковка 18.4.2009, 14:00

в условии об этом ничего не сказано. я не знаю. если это максимальный размер строки в Паскале, то, наверно ,нет. тут сильно углубляться не стоит, самое топорное и поверхностное решение пойдет, лишь бы работало. на счет первой задачи вроде понятно немного. спасибо

Автор: Inspektor 18.4.2009, 14:06

Цитата(Марковка @ 18.4.2009, 18:00) *

в условии об этом ничего не сказано. я не знаю. если это максимальный размер строки в Паскале, то, наверно ,нет.

В таком случае считаем, что там нет длинных строк. Действуем так:
1) Открываем файл для чтения.
2) Читаем первую строку из файла в переменную типа string.
3) Читаем следующую строку, в другую переменную, проверяем какая из строк длиннее, если длиннее вторая то помещаем её на место первой.
4) повторяем пункт 3 пока не кончится файл.
Если нужны более конкретные советы, то выкладывайте код(пусть даже и не рабочий).

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)