Sabtu, 10 Mei 2014

Mengubah Bilangan Desimal ke Biner

oke gan... kali ini saya membpostingkan tugas baru saya tentang Stack pada C++...!!!

Stack adalah suatu tumpukan dari benda. Konsep utamanya adalah LIFO (Last In First
Out), benda yang terakhir masuk dalam stack akan menjadi benda pertama yang
dikeluarkan dari stack. 

berikut source code tugas saya tentang mengubah bilangan desimal ke biner...

#include <iostream>
#include <stdio.h>
#include <stack>

using namespace std;

class DesimaltoBiner {
   private :
       stack<int>p;
       int desimal;
   public :
   void proses(){
    cout<<"Masukkan bilangan desimal : ";
    cin>>desimal;
    for (;;){  //tubuh looping
    p.push(desimal); //proses memasukkan nilai desimal kestack sampai perulangan selesai
    desimal = desimal / 2; //membagi nilai desimal berulang sampai nilai salah
    if (desimal < 1 )  //statemen keluar dari loop jika nilai kurang dari 1
    break;
    }
   }
   void hasil(){
    for (;;) //tubuh looping
    {
        cout<<p.top()%2<<" "; //medafatkas sisi hasil bagi 2 dari tumpukan teratas
    p.pop(); //mengeluarkan elemen terakhir untuk dibalik menjadi elemen pertama dan seterusnya
        if (p.empty()) //perulangan akan keluar jika
            break;     //stack p bernilai kosong
    }
   }
};

int main()
{
    DesimaltoBiner x;

    x.proses(); //memanggil fungsi proses didalam kelas DesimaltoBiner
    x.hasil();  ////memanggil fungsi hasil didalam kelas DesimaltoBiner

    return 0;
}

oke gan... terima kasih atas kunjungannya,,, semoga bermanfaat....

0 komentar:

Posting Komentar