Kênh Tên Miền chuyên cung cấp tên miền đẹp, giá rẻ! Hãy liên hệ kỹ thuật: 0914205579 - Kinh doanh: 0912191357 để được tư vấn, hướng dẫn miễn phí, Cảm ơn quý khách đã ủng hộ trong thời gian qua!
kiem tien, kiem tien online, kiem tien truc tuyen, kiem tien tren mang
Chủ Nhật, 20 tháng 5, 2012


// DoiCoSoDungStack.cpp : Defines the entry point for the console application.
// Nhap vao la so nguyen duong; co so la  nhi phan (2), bat phan (8), thap luc (16)


#include "stdafx.h"
#include <stdio.h>
#include <conio.h>

typedef long ele;

struct Node
{
   ele data;
   Node*next;
};
typedef Node *Stack;



//khoi tao ngan xep
void CreateStack(Stack &S)
{
   S = NULL;
}

//kiem tra rong

bool EmptyStack(Stack S)
{
   return (S==NULL);
}


//khoi tao node
Stack CreateNode(ele x)
{
   Stack p =new(Node);
   if(!p)
   {
      printf("Loi cap phat.."); return NULL;
   }
   p->data = x;
   p->next = NULL;
}
//chen push
void Push(Stack &S,ele x)
{
   Node*p = CreateNode(x);
   if(! EmptyStack(S))
      p->next = S;
   S=p;

}

//lay doi tuong dau va xoa
void Pop(Stack &S,ele &x)
{
   if(EmptyStack(S))
   {
      printf("Rong "); return;
   }
   Node*p=S;
   x=p->data;
   S=S->next;
   delete (p);

}

//lay ma ko xoa

void Top(Stack S,ele &x)
{
   if(EmptyStack(S))
   {
      printf("rong ");
      return;
   }
   x=S->data;
}




void Doicoso(Stack &S,ele so,ele coso)
{
 
   CreateStack(S);
   while(so>0)
   {
      int du =so%coso;
      Push(S,du);
      so=so/coso;
   }
 
}


void OutPut(Stack S)
{
   if(S==NULL)
   {
      printf("DS rong ");
      return;
   }
 
   Stack p = S;

   while(p!= NULL)
   {
      switch (p->data)
      {
      case 0:printf(" --> %d",p->data ); break;
      case 1 :printf(" --> %d",p->data ); break;
      case 2:printf(" --> %d",p->data ); break;
      case 3: printf(" --> %d",p->data ); break;
      case 4 : printf(" --> %d",p->data ); break;
      case 5: printf(" --> %d",p->data ); break;
      case 6:printf(" --> %d",p->data ); break;
      case 7 :printf(" -- >%d",p->data ); break;
      case 8:printf(" --> %d",p->data ); break;
      case 9 :printf(" --> %d",p->data ); break;      
      default: // neu so du la 10 thi printf la A, 11 la B ...
         printf(" --> %c",'A' + p->data - 10);
      }
      p=p->next;
   }

}

int _tmain(int argc, _TCHAR* argv[]) // khi viet code o C++ tu phien ban 2010 khong dung void main()
{
   Stack S;
 
   ele so,coso;
   printf("\n Nhap so nguyen duong can doi: ");
   scanf("%d",&so);
   printf("\n Nhap co so doi: ");
   scanf("%d",&coso);

   Doicoso(S,so,coso);
   printf("so %ld doi tu he 10 sang he %d  : " ,so,coso);
   OutPut(S);
   printf("\n \n");
 

    getch();
return 0;
}


0 nhận xét:

Đăng nhận xét

domain, domain name, premium domain name for sales

Popular Posts