Wednesday, 11 March 2015

Contoh Program Stack C++

Baca Juga Artikel Menarik Lainnya :

Baca Juga Artikel Menarik Lainnya :


Contoh Program Stack C++
Contoh Program Stack C++
Hai Sobbat Blogger.. huft gx bosen- bosenya saya memposting tentang pemrograman C++, Hehehehehe.... kali ini saya akan memberikan contoh Program Stack di C++.
Stack adalah sebuah kumpulan data dimana data yang diletakkan di atas data yang lain. Dengan demikian stack adalah struktur data yang menggunakan konsep LIFO. Dengan demikian, elemen terakhir yang disimpan dalam stack menjadi elemen pertama yang diambil. Dalam proses komputasi, untuk meletakkan sebuah elemen pada bagian atas dari stack, maka kita melakukan push. Dan untuk memindahkan dari tempat yang atas tersebut, kita melakukan pop. 
Yahhh langsung saja berikut codingannyaa....

#include "iostream"
#include "conio.h"
#define maksElemen 10//konstanta
using namespace std;
struct tumpukan
{
      short int isi[10];//isi
      int pos;//posisi dri stack
};
short int kosong(tumpukan &t)//periksa bahwa elemen stack kosong
{short int kos;
if(t.pos>0){
      kos=0;//blm kosong
      cout<<endl<<"belum kosong";
}
else
kos=1;//sudah kosong
return(kos);
}
void posisi(tumpukan t)//melihat posisi top stack
{
      if(kosong(t)!=1)//jika tdk kosong
      {
            cout<<endl<<"top sekarang pada indek = "<<t.pos;
            cout<<" dan elemennya adalah "<<t.isi[t.pos-1];
      }
}
void pop(tumpukan &t,short int &j)
{
      if(kosong(t)==1)//periksa stack
            cout<<endl<<"stack sudah kosong !";
      else
      {
            cout<<endl<<kosong(t)<<"stack blm kosong.";
            cout<<endl<<t.isi[t.pos-1]<<"  telah di pop!";
            t.pos=t.pos-1;
            j=t.pos;
      }
}
short int full(tumpukan &t)//periksa bhwa elemen stack sdah penuh
{short int penuh;
      if(t.pos<maksElemen)
            penuh=0;//blm penuh
      else
            penuh=1;//sdah penuh
      return (penuh);
}
void push(tumpukan &t, short int x, short int j)
{
      if(full(t)==1)//periksa stack
            cout<<endl<<"stack telah PENUH !";
      else{
            cout<<endl<<"stack blm PENUH !!";
            t.pos=j;
            t.isi[j-1]=x;
            cout<<endl<<t.isi[j-1]<<"  telah di PUSH!!";
      }
}
void main(){
      tumpukan t; short int n,i,x,komen;
      //n tdk lbih dri 10
      char pil;
      //memasukkan bil bulat
      t.pos=0; komen=0; i=1; t.isi[t.pos]=0;
      while(!(komen==1))
      {
            cout<<endl<<"1. PUSH dan 2.POP, mau pilih yang mana?";cin>>pil;
            switch(pil)
            {
            case'1': posisi(t);//lihat posisi top satack
                  cout<<endl<<"Bilangan ke-"<<i<<"="; cin>>x;
                  push(t,x,i);i++;break;//pemanggilan prosedur PUSH
           
            case'2': posisi(t);//lihat posisi top satack
                  pop(t,i);break;//pemanggilan prosedur pop
            }//end case
            cout<<endl<<"Tekan 1 untuk asphalt 8 :D..!!tekan: ";cin>>komen;
      }//end while
_getch();
}
berikut SS nya...

#SemogaBermanfaat
#OnBlog