- Back to Home »
- Cplusplus »
- [C++] Chuyển từ thập phân sang nhị phân dùng stack và không dùng stack
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);
}
[C++] Chuyển Từ Thập Phân Sang Nhị Phân Dùng Stack Và Không Dùng Stack >>>>> Download Now
ReplyDelete>>>>> 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