Stack
using namespace std;int stack[11]; //data dalam stack terdapat 11 data
void menu ()
{
cout<<"1.Push\n2. Pop\n3. Clear\n4. Print\n5. Exit\nPilihan Anda : "; //untuk menampilkan menu
}
int push (int j) //input data on the stack
{
if (j<10)
{
if(j==-1) // menandakan datanya belum ada,maka harus diinput dulu
{
j=0; //indikator index
}
cout<<"Masukkan Data (int) = ";
cin>>stack [j] ;//data stack yang diinput dan j sebagai nilai indexing arraynya
cout<<"Data berhasil dipush\n";
j++; //indexing arraynya bertambah 1
}
else
{
cout<<"Stack penuh, harap lakukan pop data dahulu\n"; //tampilan kalimat yang keluar apabila //stack penuh
}
return j; //mengembalikan nilai j
}
int pop (int j) //input data on the stack
{
if(j>=0) //menandakan datanya sudah ada
{
cout<<"Nilai j : "<<j<<endl; //menampilkan nilai j
j--; //nilai j berkurang 1
cout<<"Nilai j : "<<j<<endl;
cout<<"Data "<<stack[j]<<" Dipop\n"; //menampilkan data dari nilai stack dg indexing j
}
else
{
cout<<"Stack kosong,harap lakukan push data dahulu\n"; //tampilan yang akan keluar apabila kondisi sebelumnya tidak terpenuhi
}
return j; //mengembalikan nilai j
}
void print (int j) //untuk menampilkan stack
{
if(j>=0) //menandakan bahwa datanya ada
{
for(int i=j-1;i>=0;i--) //perulangan untuk menampilkan stack yang sudah diinput data atau data //yang sudah dipush
{
cout<<"["<<stack[i]<<"]\n"; //menampilkan stack
}
}
else
{
cout<<"Stack kosong,harap lakukan push terlebih dahulu\n";
}
}
main ()
{
int i=-1,pilih; //deklarasi variabel i dan pilih dengan tipe data integer
start:
system ("cls"); //untuk clear screen
menu (); //memanggil fungsi menu
cin>>pilih; //memasukkan nilai dari pilih sesuai menu yang ditampilkan
if(pilih==1) //jika pilih sama dengan 1
{
i=push(i); //memanggil fungsi push
cout<<"Jumlah isi stack : "<<i<<endl;
getch ();
goto start; //kembali ke start
}
else if (pilih==2) //jika pilih sama dengan 2
{
i=pop(i); //memanggil fungsi pop
cout<<"Nilai i : "<<i<<endl;
getch ();
goto start;
}
else if (pilih==3) //jika pilih sama dengan 3
{
for(int x=0;x<i;x++)
{
stack[x]=NULL;//NULL = kosong
}
i=-1; //mengubah index menjadi -1 berarti kosong/ngga ada array -1
cout<<"Semua data terhapus\n";
cout<<stack[1];
getch();
goto start;
}
else if (pilih==4) //jika pilih sama dengan 4
{
print(i); //memanggil fungsi print
getch();
goto start;
}
else if (pilih==5) //jika pilih sama dengan 5
{
cout<<"\n\nTerima Kasih\n";
}
else
{
cout<<"Input salah\n";
getch();
goto start;
}
return 0;
}
0 komentar:
Posting Komentar