-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstackhw2.cpp
More file actions
129 lines (111 loc) · 1.68 KB
/
Copy pathstackhw2.cpp
File metadata and controls
129 lines (111 loc) · 1.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/*
Varun Ved
stack.cpp
*/
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
//int stackSize = 20;
struct stack
{
int data[50];
int top;
};
bool isFullStack(struct stack *myStack)
{
if(myStack->top==49)
return true;
else return false;
}
bool isEmptyStack(struct stack *myStack)
{
if(myStack->top == -1)
return true;
else return false;
}
int pop(struct stack *myStack)
{
int popElement;
popElement=myStack->data[myStack->top];
myStack->top=myStack->top-1;
return popElement;
}
void push(int pushElement, struct stack *myStack)
{
myStack->top=myStack->top+1;
myStack->data[myStack->top]=pushElement;
}
int main()
{
const char* hex_table = "0123456789ABCDEF";
stack myStack;
stack myStack2;
int input = 0;
myStack.top=-1;
cout << "enter a number: ";
cin >> input;
//input =16;
int hexVal = input;
int n,number,rem2;
number = input;
while(input!=0)
{
push(input%2,&myStack);
input = input/2;
}
while(isEmptyStack(&myStack)!=true)
{
input=pop(&myStack);
cout << input;
//cout << endl;
}
cout << endl;
/*
while (number != 0)
{
rem2 = number % 16;
push(rem2,&myStack2);
if (rem2==10)
{
rem2='A';
rem2=number;
}
else if (rem2==11)
{
rem2='B';
rem2=number;
}
else if (rem2==12)
{
rem2='C';
rem2=number;
}
else if (rem2==13)
{
rem2='D';
rem2=number;
}
else if (rem2==14)
{
rem2='E';
rem2=number;
}
else if (rem2==15)
{
rem2='F';
rem2=number;
}
number /= 16;
}
//cout << "Base 16 representation of " << n << " is ";
while (isEmptyStack(&myStack2)!=true)
{
pop(&myStack2);
cout << rem2;
}
cout << endl;
*/
printf("%X",number);
//return 0;
}