Список построенный из элементов файла, Описать функцию, значением которой есть этот список |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Список построенный из элементов файла, Описать функцию, значением которой есть этот список |
AlexSun |
26.11.2011 15:57
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Задание:
Цитата type TE = <любой_тип>; ff = file of TE; список =^ звено; звено = record элемент: TE; следующий: список; end; Описать функцию, значением которой есть список, построенный из элементов файла. Моя программа: uses crt; Как переделать функцию flist, чтоб не вылетала с ошибкой при пустом файле? И еще вопрос, как лучше сделать ввод элементов списка. При until ch = #10 в конец записывается символ \n, при until ch = #13 - \r, а они мне не нужны. Или сделать тип элемента списка integer что ли, да вводить в цикле for, перед этим получив их количество... Сообщение отредактировано: AlexSun - 26.11.2011 18:33 |
IUnknown |
26.11.2011 16:23
Сообщение
#2
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата Как переделать функцию flist, чтоб не вылетала с ошибкой при пустом файле? Тысячу раз говорено: не делайте разницы между первым и остальным элементами списка - потом не придется править вот такие огрехи!!! Первый элемент списка ничем не примечателен, он ТОЧНО такой же, как и второй, и как третий, и как последний. Почему третий элемент вводится в основном цикле, а первый - нет? Не надо разделять, "первый"/"не первый":function flist(var f: ff): list; Цитата Или сделать тип элемента списка integer что ли, да вводить в цикле for, перед этим получив их количество... Или сделать тип файла Text, и читать из него целочисленные данные обычным Read(f, int_var); |
AlexSun |
26.11.2011 16:48
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Или сделать тип файла Text, и читать из него целочисленные данные обычным Read(f, int_var); Я имел ввиду этот кусочек кода: repeat При создании файла. Файл обязательно типизированный (но его тип любой, я выбрал char). В общем, until ch = '.' будет, точка признак конца текста. Нужно ли память освобождать в конце работы? Как? Сообщение отредактировано: AlexSun - 26.11.2011 16:50 |
AlexSun |
26.11.2011 22:25
Сообщение
#4
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Александр Репутация: 0 |
Освобождение памяти:
procedure dlist(l: list); Все верно? Сообщение отредактировано: AlexSun - 26.11.2011 22:25 |
Текстовая версия | 28.04.2024 15:41 |