/*----------------------------------------------
Chuong trinh doi co so he 10 ra co so n bat ky
-----------------------------------------------*/
#include <conio.h>
#include <stdio.h>
typedef int ElementType;
struct Node
{
ElementType Element;
Node *Next;
};
typedef Node *Stack;
typedef Node *Position;
void MakeNullStack(Stack S)
{
S->Next=NULL;
}
Position Pop(Stack S)
{
return S->Next;
}
void Push(Stack S,ElementType value)
{
Node *newnode=new Node;
newnode->Element=value;
newnode->Next=Pop(S);
S->Next=newnode;
}
void InsertStack(Stack S)
{
int sophantu=1;
while(1)
{
ElementType value;
printf("Nhap phan tu thu %d: ",sophantu);
scanf("%d",&value);
if(value==0)
break;
Push(S,value);
sophantu+=1;
}
}
void DoiCoSo(int X10,int coso_n)
{
if(coso_n!=1)
{
int xtam=X10;
Stack S;
MakeNullStack(S);
while(xtam>=1)
{
Push(S,xtam%coso_n);
xtam=(int)xtam/coso_n;
}
Position P=Pop(S);
while(P!=NULL)
{
if(coso_n!=16)
printf("%d",P->Element);
else
{
if(P->Element<=9)
printf("%d",P->Element);
else
{
switch(P->Element)
{
case 10:
{
printf("A");
break;
}
case 11:
{
printf("B");
break;
}
case 12:
{
printf("C");
break;
}
case 13:
{
printf("D");
break;
}
case 14:
{
printf("E");
break;
}
case 15:
{
printf("F");
break;
}
}
}
}
P=P->Next;
}
}
else printf("Co so phai khac 1");
}
int main()
{
//clrscr();
printf("Chuong trinh doi co so\n");
int sohe10,heso;
printf("Nhap so can doi (he 10): ");
scanf("%d",&sohe10);
printf("Doi ra he so: ");
scanf("%d",&heso);
DoiCoSo(sohe10,heso);
getch();
}
nosomovo