#include #include #include typedef struct stack { int sodu; struct stack *tiep; } node; node *top=NULL,*p; void push(int n) { // cấp phát p=(node*)malloc(sizeof(node)); // ghi data p->sodu=n; p->tiep=NULL; // đưa lên vị tri đầu if(top==NULL) { top=p; } else { p->tiep=top; top=p; } } void chuyencoso(int so, int coso) { while (so!=0) { push(so%coso); so=so/coso; } } void pop(int *n) { p=top; *n=p->sodu; top=top->tiep; free(p); } void output(int so, int coso) { int n; printf("so %d duoc chuyen sang he co so %d la: ",so,coso); while (top!=NULL) { pop(&n); if (n<10) printf("%d",n); else printf("%c",n+55); } getch(); } int main() { int n,a; printf("nhap so va co so:"); scanf("%d %d", &n, &a); chuyencoso(n,a); output(n,a); getch(); }