Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <stack>
- using namespace std;
- void printStack(stack<int> st)
- {
- while(st.size() != 0)
- {
- out << st.top() << " ";
- st.pop();
- }
- out << endl;
- }
- void mergeStacks(stack<int>& s1, stack<int>& s2)
- {
- while (s2.size() != 0)
- {
- s1.push(s2.top());
- s2.pop();
- }
- }
- void changeStack(stack<int> st)
- {
- stack<int> help;
- int cnt = st.size();
- while (cnt != 0)
- {
- help.push(st.top());
- if (st.top() % 2 == 0) help.push(st.top());
- st.pop();
- }
- mergeStacks(st, help);
- }
- int main()
- {
- stack<int> st;
- int x;
- while (cin >> x) st.push(x);
- printStack(st);
- changeStack(st);
- printStack(st);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement