Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stack>
- #include <vector>
- #define ERROR 1000000000
- using namespace std;
- struct STACK
- {
- vector<int> stack;
- };
- void INIT(STACK &s) {}
- void PUSH(STACK &s, int value)
- {
- if (s.stack.size() < 5)
- {
- s.stack.push_back(value);
- }
- else
- cout << "nadmiar" << endl;
- }
- int POP(STACK &s)
- {
- if (s.stack.size() > 0)
- {
- int value = s.stack.back();
- s.stack.pop_back();
- return value;
- }
- else
- return ERROR;
- }
- bool STACK_EMPTY(STACK &s)
- {
- if (s.stack.empty())
- return true;
- else
- return false;
- }
- void WRITE(STACK &s)
- {
- for (auto value : s.stack)
- cout << value << " ";
- cout << endl;
- }
- void WRITE(int value)
- {
- if (value != ERROR)
- cout << value << endl;
- else
- cout << "niedormiar" << endl;
- }
- void WRITE(bool value)
- {
- if (value)
- cout << "true" << endl;
- else
- cout << "false" << endl;
- }
- int main()
- {
- struct STACK S;
- INIT(S);
- PUSH(S, 1);
- PUSH(S, 2);
- WRITE(S);
- PUSH(S, 3);
- PUSH(S, 4);
- PUSH(S, 5);
- WRITE(S);
- PUSH(S, 6);
- WRITE(S);
- WRITE(STACK_EMPTY(S));
- WRITE(POP(S));
- WRITE(POP(S));
- WRITE(POP(S));
- WRITE(POP(S));
- WRITE(S);
- WRITE(POP(S));
- WRITE(POP(S));
- WRITE(S);
- WRITE(STACK_EMPTY(S));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement