Posted by : 86Gems 06 March 2014

// Không dùng stack.

#include <iostream>
#include <conio.h>

using namespace std;
int main() {
    int A[100], n,dem=0;
    cout << "Nhap vao so tu nhien N="    ; cin >>n;
    cout << endl;
    while(n>0){
               A[dem] = n%2;
               n = n/2;
               dem++;
    }
    cout << "So nhi phan la: ";
    for(int i=dem-1; i>=0;i--)
    cout << A[i];
    getch();
    return 0;
}







// Dùng stack

#include <iostream>
#define MAX 100
using namespace std;
struct stack // Dinh nghia cau truc stack
{
    int n;
    int e[MAX];
};
void init(stack &s) // Ham khoi tao
{
    s.n=-1;
}
int isempty (stack s) // Kiem tra ngan xep rong
{
    if(s.n==-1)
        return 1;
    return 0;
}
int isfull(stack s) // Kiem tra ngan xep day
 {
     return (s.n==MAX-1);
 }
 void push(stack &s, int x) // Them mot phan tu vao stack
 {
     if (isfull(s))
        cout <<" Ngan xep day !";
     else
     {
         s.n++;
         s.e[s.n]=x;
     }
 }
 int pop (stack &s) // Lay mot phan tu ra khoi stack
 {
     if(isempty(s))
     {
         cout <<"Ngan xep rong !";
         return -1;
     }
     else
        return s.e[s.n--];
 }
int main()
{
    stack s;
    init(s);
    int m,k;
    cout << "Chuong trinh chuyen doi thap phan sang nhi phan!" << endl;
    do
    {
        cout << "Nhap so thap phan can chuyen: ";
        cin >> m ;
    }
    while (m<=0);
    while (m!=0)
    {
        k=m%2;
        push(s,k);
        m=m/2;
    }
    cout << "So nhi phan la: ";
    while (isempty(s)==0)
        cout << pop(s);
}


// Dùng danh sách liên kết đơn
#include <iostream>;
using namespace std;
struct node
{
    int data;
    node *next;
};
typedef node *pnode;
void init(pnode &h)
{
    h=NULL;
}
int isempty(pnode h)
{
    return (h==NULL);
}

void push (pnode &h, int x)
{
    pnode p;
    p=new node;
    p->data=x;
    p->next=h;
    h=p;
}
int pop(pnode &h)
{
    int x;
    pnode p;
    x=h->data;
    p=h;
    h=h->next;
    delete p;
    return x;
}

int main()
{
    pnode h;
    init(h);
    int x,n;
    cout <<"Nhap n: ";
    cin >> n;
    while (n!=0)
    {
        x=n%2;
        push(h,x);
        n=n/2;
    }
    while(isempty(h)==0)
        cout << pop(h);
}
 

fb.com/snowblack93





{ 1 nhận xét... read them below or add one }

  1. [C++] Chuyển Từ Thập Phân Sang Nhị Phân Dùng Stack Và Không Dùng Stack >>>>> Download Now

    >>>>> Download Full

    [C++] Chuyển Từ Thập Phân Sang Nhị Phân Dùng Stack Và Không Dùng Stack >>>>> Download LINK

    >>>>> Download Now

    [C++] Chuyển Từ Thập Phân Sang Nhị Phân Dùng Stack Và Không Dùng Stack >>>>> Download Full

    >>>>> Download LINK

    ReplyDelete

- Copyright © Kiến thức tổng quan - Vòng Đá 5A - Powered by Blogger - Designed by SnowBlack -