Pages

Rabu, 05 Maret 2014

Stak dengan record_program balik kata



program balik_kata;
uses wincrt;
const elemen=225; {batas max karakter}
type s225=string[elemen];
tumpukan = record
                isi : s225;
                atas : 0..elemen
                end;
var T : tumpukan;
I:integer;      {pencacah}
kalimat:s225;   {kalimat yang akan dibalik}
procedure create (var T:tumpukan);
begin
        T.Atas:=0; {inisialisasi / create tumpukan}
end;
procedure Push (var T:tumpukan; x:char);
begin
        T.atas:=T.atas+1;
        T.isi[T.atas]:=x; {masukan huruf}
end;
function pop (var T:Tumpukan):char;
begin
        Pop:=T.isi[T.atas];
        T.atas:=T.atas-1;
end;
{program Utama}
begin
        clrscr;
        create(T);
        writeln('Stack untuk membalik kalimat');
        writeln('----------------------------');
        writeln;
        write('ketikkan kalimatmu : '); readln(kalimat);
        clrscr;
        writeln('Kalimat Aslinya : ', kalimat);
       writeln;
        writeln('Dibalik menjadi :');
        for I:=1 to length(kalimat) do
        Push (T, kalimat[I]);  {memasukkan kalimat ke stack};
        for I:= 1 to length (kalimat) do
                write(Pop(T));
        readln;
end.

0 komentar:

Posting Komentar