Selamat Datang di Pratomo Wijoyo Berikan Komentar Anda untuk Kemajuan Blog ini

Minggu, 06 Februari 2011

Contoh Program Double Stack

Sekarang aku mo lanjutin postingan sebelumnya yaitu mengenai Double Stack, sebelumnya sudah kejelaskan sedikit tentang apa itu double stack, bisa dibaca di artikel sebelumnya double stack Contoh Program Double Stack

Sekarang tinggal memberikan Contoh Program Double Stack C.

Oke langsung aja, ini dia Contoh Program Double Stack nya



/*Contoh double stack*/

#include "stdio.h"
#include "conio.h"

#define MAX 50
#define true 1
#define false 0

char stack[MAX];
int top1, top2;

void init(void);
void push(char data, int nomorstack);
char pop(int nomorstack);
void clear(int nomorstack);
int full(void);
int empty(int nomorstack);
void baca();

main(){
char data;
int pilih, nomorstack;

init();

do{
clrscr();
printf("Contoh program double stack");
printf("\n1. Push");
printf("\n2. Pop");
printf("\n3. Clear");
printf("\n4. Baca");
printf("\n5. Selesai...");
printf("\nPilihan anda : \n");
scanf("%i",&pilih);

switch(pilih){
case 1: printf("Push\n");
printf("Masukkan datanya :\n"); scanf("%s",&data);
printf("Mau dimasukkan ke stack berapa ? 1 atau 2 ? :\n");

scanf("%i",&nomorstack);

push(data, nomorstack);
break;
case 2: printf("Pop\n");
printf("Masukkan nomor stack\n");
scanf("%i",&nomorstack);
data=pop(nomorstack);
printf("\nData yang dikeluarkan adalah %s", data);
break;
case 3: printf("Clear\n");
printf("Nomor Stack yang akan dikosongkan \n");
scanf("%i",&nomorstack);
clear(nomorstack);
break;
case 4: printf("Baca\n");
baca();
break;
case 5: printf("Exit");
break;
default: printf("Pilihan yang anda masukkan tidak ada");
break;
}
}while(pilih!=5);



getch();
}

//init
void init(){
top1=0;
top2=MAX+1;
}

//PUSH
void push(char data, int nomorstack){

if(full()!=true){

switch(nomorstack){
case 1: top1++;
stack[top1]=data;
break;
case 2: top2--;
stack[top2]=data;
break;
default: printf("\nNomor stack salah");
break;

}


}
else
printf("\nStack penuh");
getch();

}

//POP
char pop(int nomorstack){
char data;

if(empty(nomorstack)!=true){

switch(nomorstack){
case 1: data=stack[top1];
top1--;
return data;
break;
case 2: data=stack[top2];
top2++;
return data;
break;
default: printf("\nNomor stack salah");
break;
}

}
else printf("\nStack masih kosong");

getch();
return 0;
}

//cek full

int full(void){

if(top1+1>=top2){
return true;
}

else return false;


}

//cek empty
int empty(int nomorstack){

switch(nomorstack){
case 1: if(top1==0) return true;
else return false;
break;
case 2: if(top2==MAX+1) return true;
else return false;
break;
default: printf("nomor stack salah");
break;
}



}

//clearing
void clear(int nomorstack){

switch(nomorstack){

case 1: top1=0;
break;
case 2: top2=MAX+1;
break;
default: printf("Nomor stack salah");
break;

}
}

void baca(){
int i;

printf("Baca isi stack pertama \n");

for(i=1; i<=top1; i++){
printf(" %c ",stack[i]);
printf("\n");

}

printf("Isi stack kedua\n");

for(i=MAX; i>=top2; i--){
printf(" %c ",stack[i]);
printf("\n");
}

getch();
}



Jika ada masalah dengan Contoh Program Double Stack silahkan tinggalkan komentar...

sekian dan terima kasih. Contoh Program Double Stack


Artikel Saya lainnya :



2 comments:

Anonim mengatakan...

thx yaa...sangat membantu :)
kalo bisa ada bahasa c++ ..karna bahasa C saya kurang paham ..
maju terus :)

Unknown mengatakan...

Kenapa pas dijalankan di program c++ ada tulisan ' iostream.h file not found'

Posting Komentar