Menu

Sabtu, 23 Juli 2016

Program Konversi Desimal Ke Biner Menggunakan STACK di C++

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