Senin, 11 Januari 2010

***Membalikkan kata dengan Stuck***

program balik_kalimat_perkata;

uses wincrt;

const elemen = 255;

type s255 = string[elemen];

tumpukan = record

isi:s255;

atas: 0..elemen;

end;

var t: tumpukan;

i, k, l, m: integer;

kalimat, word: s255;

procedure awalan(var t: tumpukan);

begin

t.atas:=0;

end;

procedure push (var t:tumpukan; x: char);

begin

t.atas:=t.atas+1;

t.isi[t.atas]:= x;

end;

function pop(var t:tumpukan):char;

begin

pop:=t.isi[t.atas];

t.atas:=t.atas-1;

end;

begin

clrscr;

awalan(t);

writeln('Tumpukan untuk membalik kalimat');

writeln('*******************************');

writeln;

write('ketik kalimat: '); readln(kalimat);

clrscr;

writeln('kalimat asli: ',kalimat);

writeln;

writeln('setelah operasi push dan pop');

for i:=1 to length(kalimat) do

begin

if (kalimat[i]=' ') then

begin

for k:=(i-1) downto l do

word:=word+kalimat[k];

word:=word+kalimat[i];

end;

l:=length(word);

if i=length(kalimat) then

begin

for i:=length(kalimat) downto l do

word:=word+kalimat[i];

end;

end;

for i := 1 to (length(kalimat) + 1) do

push(t, word [i]);

for i := 1 to (length(kalimat) + 1) do

write (pop (t) );

readln;

end.


Tidak ada komentar:

Posting Komentar