fork(2) download
  1. #include <iostream>
  2. #include <stack>
  3. #include <string>
  4. #include <sstream>
  5.  
  6. using namespace std;
  7.  
  8. int main(int argc, const char * argv[])
  9. {
  10. stringstream ss;
  11. stack<int> stack1, stack2, resultStack;
  12. string input;
  13.  
  14. // Build stack 1
  15. cout << "Numbers: ";
  16. cin >> input;
  17.  
  18. for (int i = 0; i != input.length(); ++i) {
  19. int temp = 0;
  20. ss << input[i];
  21. ss >> temp;
  22. stack1.push(temp);
  23. }
  24.  
  25. // Build stack 2
  26. cout << "Numbers: ";
  27. cin >> input;
  28. for (int i = 0; i != input.length(); ++i) {
  29. int temp = 0;
  30. ss << input[i];
  31. ss >> temp;
  32. stack2.push(temp);
  33. }
  34.  
  35.  
  36.  
  37. int carry=0, op1=0, op2=0;
  38. while (true) {
  39. op1=0,op2=0;
  40. if (stack1.empty() && stack2.empty()) break;
  41. if (!stack1.empty()) { op1 = stack1.top(); stack1.pop(); }
  42. if (!stack2.empty()) { op2 = stack2.top(); stack2.pop(); }
  43. int opTotal = 0;
  44. opTotal = op1 + op2 + carry;
  45. resultStack.push(opTotal%10);
  46. if (opTotal >= 10) carry = 1; else carry = 0;
  47. }
  48.  
  49. cout << "\nResult is: ";
  50. while (!resultStack.empty()) {
  51. cout << resultStack.top();
  52. resultStack.pop();
  53. }
  54.  
  55. cout <<"\n\n";return 0;
  56. }
  57.  
Success #stdin #stdout 0s 3480KB
stdin
Standard input is empty
stdout
Numbers: Numbers: 
Result is: