Breaking News
Loading...
Kamis, 28 April 2016

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

Copyright © 2012 IamChands All Right Reserved
Designed by CBTblogger