![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
-Катюшка- |
![]() ![]()
Сообщение
#1
|
Гость ![]() |
Вот это модуль. Он должен содержать описание объекта, который представляет бинарное дерево. Объект должен обладать возможностью добавления новых элементов, удаления существующих, поиска элемента по ключу, обхода дерева а также определять число вхождений элемента Е в дерево.
unit u_lr11; Всё компилируется, но при запуске выдаётся сообщение Cannot run a unit Что делать?!!! Я не разбираюсь в модулях... ![]() А это сама программа,где я использую модуль program lab11; Это вообще не компилируется... ![]() ПАМАГИТЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ![]() |
APAL |
![]()
Сообщение
#2
|
![]() Смотрю... ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 055 Пол: Мужской Реальное имя: Пшеничный Алексей Анатольевич Репутация: ![]() ![]() ![]() |
Судя по ошибке - ты пытаешься запустить модуль... В меню Compile в строке Distination должно стоять Disk.
После этого жмешь F9 - создается .TPU файл, т.е. сам модуль. (можно из командной строки набрать TPC.EXE <имя файла>.PAS - результат тот же) Убедись, что модуль лежит в том же каталоге, что и файл с программой, к которой ты его подключаешь. -------------------- |
-Катюшка- |
![]()
Сообщение
#3
|
Гость ![]() |
|
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
-Катюшка-, значится так... Я тут кое-что нашаманил (подправил все несоответствия, которые были в программе, и между программой и модулем). Смотри внимательно - изменений много...
Модуль: ![]() Программа: ![]() Теперь о компиляции. Скопируй и программу и модуль в одну папку, открой в TP файл программы, и нажми F9, или меню Compile -> Make... Паскаль сам откомпилирует модуль, а потом - саму программу... Да, чуть не забыл... Поскольку у меня не было файла данных, я подставил "пустышку": assign(f,'employ.dat'); rewrite(f); если у тебя есть какой-то файл, поменяй название и замени rewrite на reset, иначе содержимое файла будет удалено... Программу тестировал на ручном вводе данных в список (меню - пункт 3). Вроде бы все работает... Единственное, что не очень красиво - просмотр дерева: строка - заголовок печатается многократно, ибо она распечатывается внутри рекурсии... |
-Катюшка- |
![]()
Сообщение
#5
|
Гость ![]() |
Так, уже лучше, спасибки)
Вот только у меня ошибка-- при создании дерева меня "выкидывают" из программы и пишут ошибку №100: disk read error... выбрасывают в окно с модулем на строку procedure orgtree(var f:ftype;var top:Ptree); |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата пишут ошибку №100: disk read error... Похоже, что у тебя файл битый, и при попытке прочесть очередную запись программа натыкается на конец файла. Как результат - ошибка №100... |
Bokul |
![]()
Сообщение
#7
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Код procedure orgtree(var f:ftype;var top:Ptree); var z:rabotnik; begin writeln('выполняется процедура организации дерева'); readln; reset(f); seek(f,0);{!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!попробуй добавить эту строку?!!!!!!!!!!!!!!!!!!!!!!!!!!!!} top:=nil; while not eof(f) do begin read(f,z); top:=top^.addtree(top,z); end; end; P.S как менять цвет текста? Сообщение отредактировано: Bokul - 19.05.2006 22:08 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
-Катюшка- |
![]()
Сообщение
#8
|
Гость ![]() |
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Погоди, ты что, вручную данные набирала? Файл-то типизированный... Должна программно делать это.
Прикрепила бы файл, мы бы посмотрели, может с файлом все нормально, тогда в другом месте ошибку будем искать. |
-Катюшка- |
![]()
Сообщение
#10
|
Гость ![]() |
Не хочет загружать этот файлик. не то разрешение, говорят( правов нету
![]() |
Bokul |
![]()
Сообщение
#11
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Не хочет загружать этот файлик. не то разрешение, говорят( правов нету ![]() Тогда добро пожаловать на наш форум ![]() Зарегистрируйся. ![]() Сообщение отредактировано: Bokul - 19.05.2006 21:18 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
ПухачОк |
![]()
Сообщение
#12
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Женский Реальное имя: Катька Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Тогда в архив его, и присоединяй (rar или zip)...
|
Bokul |
![]()
Сообщение
#14
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
ПухачОк, а ты пробивала добавить seek (f,0) в свою процедуру( читай мои посты выше)
Цитата Тогда в архив его, и присоединяй (rar или zip)... А просто поменять расширения нельзя? ![]() Сообщение отредактировано: Bokul - 19.05.2006 22:14 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
ПухачОк |
![]()
Сообщение
#15
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Женский Реальное имя: Катька Репутация: ![]() ![]() ![]() |
Вот файл(наконец-то!)
ПухачОк, а ты пробивала добавить seek (f,0) в свою процедуру( читай мои посты выше) Нет, не пашет... ![]() Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#16
|
Гость ![]() |
Файл битый однозначно. Прошел по программе в пошаговом режиме: нормально прочиталась только первая запись. Вторая уже содержит какой-то мусор...
Придется файл создавать заново. И еще одно. Скажи мне, как по-твоему, при размере записи в 38 байт размер файла равен 287 байт - это нормально? Так сколько записей содержит файл? ![]() |
ПухачОк |
![]()
Сообщение
#17
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Женский Реальное имя: Катька Репутация: ![]() ![]() ![]() |
|
volvo |
![]()
Сообщение
#18
|
Гость ![]() |
Показывай код, которым создаешь файл, может там что-то не так?
|
ПухачОк |
![]()
Сообщение
#19
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 10 Пол: Женский Реальное имя: Катька Репутация: ![]() ![]() ![]() |
Там вроде правильно...Если это вообще то, что надо)
Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#20
|
Гость ![]() |
Ну, ПухачОк, надо же быть внимательнее!!!
Это описание типа из модуля u_lr11: rabotnik=record а вот это - в программе генерации DAT - файла: rabotnik=record Вот тебе и результат: длина файла, созданного твоей программой не совпадает с длиной, которую ожидает модуль при чтении в список. Так что, см. сообщение №6 ![]() Чтобы поправить ситуацию - просто замени в модуле u_lr11 то самое число 12 на 15, и будешь работать с файлами, как положено... |
![]() ![]() |
![]() |
Текстовая версия | 19.07.2025 1:42 |