c
#include<iostream.h>
#include<stdlib.h>
//using namespace std;
typedef struct StackNode
{
int data;
struct StackNode *next;
}StackNode,*LinkStack;
int InitStack(LinkStack &S)
{
S=NULL;
return 1;
}
int Push(LinkStack &S, int e)
{
StackNode* p=(StackNode*)malloc(sizeof(StackNode));
p=new StackNode;
p->data=e;
p->next=S;
S=p;
return 1;
}
int Pop(LinkStack &S, int* e)
{
if(S==NULL) return 2;
*e=S->data;
LinkStack p=S;
S=S->next;
delete p;
return 1;
}
void conversion(int N)
{
LinkStack S;
int e;
InitStack(S);
while(N)
{
Push(S,N%8);
N=N/8;
}
while(S)
{
Pop(S,&e);
cout<<e;
}
}
int main()
{
int N;
cin>>N;
conversion(N);
cout<<endl;
return 0;
}
c#
#include <iostream>
#include <cstdlib>
using namespace std;
typedef struct StackNode
{
int data;
struct StackNode *next;
} StackNode, *LinkStack;
int InitStack(LinkStack &S)
{
S = NULL;
return 1;
}
int Push(LinkStack &S, int e)
{
StackNode *p = (StackNode *)malloc(sizeof(StackNode));
p->data = e;
p->next = S;
S = p;
return 1;
}
int Pop(LinkStack &S, int* e)
{
*e = S->data;
LinkStack p = S;
S = S->next;
delete p;
return 1;
}
void conversion(int N)
{
LinkStack S;
int e;
InitStack(S);
while (N)
{
Push(S, N % 8);
N = N / 8;
}
while (S)
{
Pop(S, &e);
cout << e;
}
}
int main()
{
int N;
cin >> N;
conversion(N);
return 0;
}