Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- type TStack = record
- Stacks: array[0..10] of string;
- top: integer;
- end;
- var tumpukan : TStack;
- function initStack(var stack:TStack): boolean;
- begin
- stack.top:= -1;
- initStack:= true;
- end;
- function push(var stack:TStack; data: string): boolean;
- begin
- if high(stack.stacks) = stack.top then begin
- writeln('Gagal, tumpukan penuh');
- push:= false;
- exit;
- end
- else begin
- inc(stack.top);
- stack.stacks[stack.top]:= data;
- push := true;
- end;
- end;
- function pop(var stack: TStack; var a: string): boolean;
- begin
- if stack.top = -1 then begin
- writeln('Gagal, tumpukan telah kosong');
- pop := false
- end else begin
- a := stack.stacks[stack.top];
- stack.stacks[stack.top]:='';
- dec(stack.top);
- end;
- end;
- var jawab : integer; var data: string;
- begin
- clrscr;
- initStack(tumpukan);
- repeat
- writeln('1. Push ');
- writeln('2. Pop ');
- writeln('0. Keluar ');
- write('Masukan pilihan anda :'); readln(jawab);
- case jawab of
- 1: begin
- write('Masukan datanya :'); readln(data);
- push(tumpukan, data);
- end;
- 2: begin
- data := 'normal';
- writeln('Data Tumpukan teratas = ', pop(tumpukan, data));
- end;
- 0:;
- else writeln('Input salah');
- end;
- readln;
- until jawab =0;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement