#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;
}
#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;
}
0 komentar:
Posting Komentar