logo
ГОСЫ / ГОСБилеты

3. Составить программу, которая формирует стек, добавляя в него произвольное количество компонент.

program Project11;

{$APPTYPE CONSOLE}

uses

SysUtils,

Windows;

//Program Zadanie_11;

//Uses Crt;

Type

TPtr = ^TElem;

TElem = record

Inf :Integer;

Link:TPtr;

end;

Var

Z,Value:Integer;

Top:TPtr;

Procedure Push(Val:Integer);

Var P:TPtr;

Begin

New(P);

P^.Inf:=Val;

P^.Link:=Top;

Top:=P;

End;

Procedure Pop(var Val:Integer);

Var P:TPtr;

Begin

Val:=Top^.Inf;

P:=Top;

Top:=P^.Link;

Dispose(P);

End;

Begin

//ClrScr;

Writeln('Create STACK...');

Top:=nil;

Writeln('Ukagite deistvie:');

Writeln(' 1. Zapis v STACK');

Writeln(' 2. Izvlechenie iz STACK');

Writeln(' 3. Ochistka STACK and print');

Writeln(' 4. EXIT');

Repeat

Readln(Z);

If Z=1 Then Begin

Writeln('Vvedite VALUE == ');

Readln(Value);

Push(Value);

End;

If Z = 2 Then

Begin

Pop(Value);

Writeln('Izvlechennoe VALUE == ',Value);

End;

If Z = 3 Then Begin

While Top <> nil do

Begin

Pop(Value);

Writeln('Izvlechennoe VALUE == ',Value);

End;

End;

Until (Z=4);

End.

//begin

{ TODO -oUser -cConsole Main : Insert code here }

//end.