uses
MyQueue;
var
l,p,t: TQueue;
... вот так, но при обращении к этим переменным (када точечку ставиш

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
![]() ![]() |
![]() |
kr3v3tkus |
![]()
Сообщение
#1
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
теперь вот сел за очередь ( та же задача http://forum.pascal.net.ru/index.php?showtopic=13227 ). Скатал готовый пасс ( тк своей башки на написание не хватит ), но как всегда пока переделывал чёто левое наворотил, проверьте пожалста. Я его описал ...
uses MyQueue; var l,p,t: TQueue; ... вот так, но при обращении к этим переменным (када точечку ставиш ![]() Прикрепленные файлы ![]() -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
У тебя сам myqueue.pas не компилируется, ибо ошибок много
![]() Так лучше? Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#3
|
Гость ![]() |
Кстати, ты бы зашел сюда:
FAQ: ООП Тут я выкладывал реализации всех основных ДСД (динамических структур данных) через Object-ы... |
kr3v3tkus |
![]()
Сообщение
#4
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
ooops
![]() ![]() а в фак я защёл сразу, но чёт ваще через объект не понял () я даже не знаю что такое halt(102) ![]() ![]() Код Procedure TQueue.Push(var q:TQueue; e: Char); var z:Tlist; begin new(z); z^.info:=E; z^.next:=nil; If Empty(q) then q.head:=z else q.tail^.next:=z; q.tail:=z end; вот например a.push(q,e) - e это наш символ, который мы передаём, а что такое q? у меня блин проблемы с описаниями и передачею всегда ![]() зы а с очередью всё ок? тоесть в хвост кладём голову вынимаем? а то в инструкции к модулю написано так Цитата Procedure OueuePush(var q:TQueue; e:TElem); поместить в хвост Function QueuePop(var q:TQueue):TElem; извлечь из хвоста или я чёт не догоняю? ![]() Сообщение отредактировано: kr3v3tkus - -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
А у тебя, извини модуль нерабочий... Он только компилируется, а работать от этого лучше не станет... Зачем тебе вызывать метод объекта (ну, или класса, не столь важно), и в него же передавать сам экземпляр этого же класса? "Масло масляное"? Это было неудачно переведено с процедурной версии... В смысле, у тебя это и есть процедурная версия, я просто заставил твой модуль компилироваться...
Если тебе надо ООП (а судя по твоему модулю - надо, ибо TQueue определено как класс) - я дал ссылку. Там все нормально работает... Что за привычка - придраться к самым незначащим участкам кода, и не посмотреть, как реализовано все основное? Что тебе с этого Halt? Неужели по смыслу не ясно, что Halt просто прервет выполнение программы? В общем, как знаешь... Хочешь изобретать - изобретай... |
kr3v3tkus |
![]()
Сообщение
#6
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
volvo ет я не придирался
![]() ![]() если можно то дай плз ссылку ![]() -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
kr3v3tkus |
![]()
Сообщение
#7
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 111 Пол: Мужской Реальное имя: Рома Репутация: ![]() ![]() ![]() |
упс пардон
![]() ![]() кароче чёт сложно для меня ![]() Код unit MyQueue; interface type PNode = ^Node; Node = record Info:Char; Next:PNode; end; TQueue = class private head,tail:PNode; public function Empty:Boolean; procedure Push (Value:Char); procedure Pop (var Value:Char); constructor Create; destructor Destroy; override; end; implementation constructor TQueue.Create; begin inherited; head:=nil; tail:=nil; end; destructor TQueue.Destroy; var Value:Char; begin while (not Empty) do Pop (Value); inherited; end; function TQueue.Empty:Boolean; begin Empty := not assigned(head); end; procedure TQueue.Push (Value:Char); var P:PNode; begin new(P); p^.info:=value; p^.next:=nil; if empty then head:=p else tail^.next := p; tail:=p; end; procedure TQueue.Pop (var Value:Char); var P:PNode; begin if not Empty then begin value:=head^.info; p:=head; head:=p^.next; if head=nil then tail:=nil; dispose(p); end; end; end. Сообщение отредактировано: kr3v3tkus - -------------------- Цитата . . \__/ (**) (>:=:=:~~ ^ ^ ^ ^ Креветка присваивания :DDD |
![]() ![]() |
![]() |
Текстовая версия | 23.03.2025 23:47 |