Contoh Program C++ Stack (Tumpukan) untuk Membalikan Kata / Kalimat

Contoh Program Stack (Tumpukan) untuk membalikan kalimat:


#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <iostream.h>
#define MaxElemen 200 //menentukan batas max elemen

struct Tumpukan
{
char Isi[MaxElemen];
   int Atas;
} T;

//sub program PUSH berfungsi memasukkan elemen ke dalam STACK
void PUSH (char x){ //fungsi push
if(T.Atas == MaxElemen){  //untuk mengecek apakah stack sudah penuh
cout<<"Tumpukan Sudah Penuh";
getch();
}
else{
T.Atas = T.Atas + 1;
T.Isi[T.Atas] = x;
}
}

//sub program POP berfungsi mengambil elemen dari STACK
char POP(){
char hasil;
if(T.Atas == 0){
    cout<<"Tumpukan sudah kosong";
      hasil = ' ';
   }
   else{
    hasil = T.Isi[T.Atas];
      T.Atas = T.Atas - 1;
   }
   return hasil;
}

//program utama
void main ()
{
     int I;       // pencacah
     char Kalimat[MaxElemen];   //kalimat yang akan dibalik
     clrscr();
     T.Atas =0;  // nilai awal tumpukan
     cout<<"Aplikasi Stack untuk Membalik kalimat\n";
     cout<<"----------------------------------------\n\n";

     // Inputkan kalimat yang akan dibalik
     cout<<"Masukkan sembarang kalimat : ";gets(Kalimat);

     clrscr();
     cout<<"Kalimat Asli : "<<Kalimat;

     //Mem-PUSH huruf dari kalimat ke dalam tumpukan
     for(I=0;I<strlen(Kalimat);I++)
     {
      PUSH(Kalimat[I]);
      }

      cout<<"\nKalimat Setelah di Balik : ";

      //Mem-POP sekaligus mencetak isi tumpukan sehingga diperoleh kalimat yang terbalik
      for (I=0;I<strlen(Kalimat);I++)
      {
       cout<<""<<POP();
      }
       getch();
    } //Akhir Program Utama


Output Program :







Comments

  1. Kak kalau yang di baliknya kata demi kata gimana, misal nama saya jadi saya nama.makasih srbelumnya

    ReplyDelete
  2. Eror akumah udh copy paste codingan ini tuh

    ReplyDelete

Post a Comment

Popular posts from this blog

Cara Mengatasi Galat: Index hilang pada kolom di phpMyAdmin

Program C++ Menghitung Diskon Pembelian oleh Pelanggan