Цитата:
Сообщение от AlexSku
Не смотрел всю программу, но по-моему эта вещь нехорошая:
Код:
Procedure In_stak(Var Beg:Stack; Sim:integer);
Var x:Stack;
Begin
New(X);
X^.inf:=Sim;
X^.next:=Beg;
-> Beg:=X;
End;
Переменная Х - локальная и по завершении процедуры уничтожается автоматически, так что после выхода Beg будет указывать на мусор. Лучше Х объявлять как глобальную переменную или поле какого-нибудь объекта.
|
Во первых, x должна быть ссылкой на какой либо тип, в данном случае на элемент стека,
во вторых, переменные созданные методом New, не уничтожаются, после выхода из процедуры, к их уничтожению необходим метод Dispose();
А сама процедура явно написано неверено, так как все добавляемые элементы привязываются к первому.
А автору вопроса, советую почитать теорию, так как, пока не придет понимания работы стэка и очереди, писать код не имеет смысла.