Asssalamualaikum,
Nah kali ini mimin mau share program konversi bilangan desimal ke biner menggunakan stack pada C++, pantau yaaaa..
Happy sharing! Semoga bermanfaat!
#include <stdio.h>
#include <conio.h>
int maxstack; typedef int itemtype;
typedef struct
{
itemtype item[30];
int count;
} stack;
void initstack(stack *s)
{
s->count=0;
}
int empty(stack *s)
{
return(s->count==0);
}
int full(stack *s)
{
return(s->count==maxstack);
}
void push(itemtype x, stack *s)
{
if (full(s))
printf("STACK PENUH! \n");
else
{
s->item[s->count]=x;
++(s->count);
}
}
int pop(stack *s)
{
if(empty(s))
printf("STACK KOSONG! \n");
else
{
--(s->count);
return(s->item[s->count]);
}
}
main()
{
int i, n, m, l, z;
int input;
stack tumpukan;
printf("Program Pengkonversi Desimal ke Biner \n\n");
initstack(&tumpukan);
printf("Masukkan Bilangan Desimal : ");
scanf("%d",&input);
for(z=1,n=input;n>0;n=n/2,z++)
{
maxstack=z;
}
m=0;
for(n=input;n>0;n=n/2)
{
l=n%2;
push(l,&tumpukan);
++m;
}
printf("\nSetelah di Konversi ke Bilangan Biner : ");
for(i=maxstack;i>0;i--)
{
printf("%d", pop(&tumpukan));
}
getch();
return 0;
}
Tidak ada komentar:
Posting Komentar