Algoritma Membalik Kata dengan Stack

Dengan memanfaatkan stack maka kita bisa menggunakannya untuk membalik sebuah kata yang di inputkan, bisa kita lihat seperti pada program dibawah ini.
uses crt;

const elemen=20;

type
    huruf = string[elemen];
    stack = record
    s : huruf;
    top :0..elemen
end;

var
  t: stack;
  i: integer;
  kata : huruf;
  temp,lagi:char;
//Procedure Inisialisai Tumpukan
procedure inisialisasi (var t:stack); 
begin
  t.top:=0;
end;

//Procedure untuk memasukkan elemen ke dalam.
procedure push(var t : stack; x: char);
begin
   t.top:=t.top+1;
   t.s[t.top]:=x
end;

//Fungsi untuk mengambil elemen dari tumpukan.
function pop(var t: stack):char;
begin
  pop:=t.s[t.top];
  t.top:=t.top-1;
end;

//Program Utama
begin
repeat
  ClrScr;
  inisialisasi(t);
  write('Masukan Kata : '); //Memasukkan Kata
  readln(kata); //Membaca Inputan
  writeln;
  write('Kata Asli : ',kata); //Outputan
  writeln;

//Jika kata yang dimasukkan lebih kecil dari 10 maka kata akan dibalik.
  if (length(kata)<10 span="" then="">
  begin
    write('balik kata = ');
    for i:=1 to length(kata) do
      push(t,kata[i]);
      for i:=1 to length(kata) do
          write(pop(t)); 
  end
  else //Jika tidak maka akan muncul pesan kata lebih dari 10.
  begin
    writeln;
    writeln('Kata yang anda inputkan lebih dari 10');
  end;

  writeln;
  write('Mau coba lagi ? [Y/T] : ');readln(lagi); 
 
until upcase (lagi)='T';
end.

No comments

Silahkan Berkomentar dengan kata-kata yang baik dan sopan dikarenakan blog ini untuk semua umur. Terimakasih

Powered by Blogger.