Advertisement
Guest User

Task 3 – Machine

a guest
Oct 19th, 2019
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.67 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. void sum(std::vector<std::string>& input) {
  5.  
  6. int sum = 0;
  7. int numberA = std::stoi(*(input.end() - 1));
  8. input.pop_back();
  9. int numberB = std::stoi(*(input.end() - 1));
  10. input.pop_back();
  11. sum = numberA + numberB;
  12. std::string number = std::to_string(sum);
  13. input.push_back(number);
  14. }
  15. void subtract(std::vector<std::string>& input) {
  16.  
  17. int sum = 0;
  18. int numberA = std::stoi(*(input.end() - 1));
  19. input.pop_back();
  20. int numberB = std::stoi(*(input.end() - 1));
  21. input.pop_back();
  22. sum = numberA - numberB;
  23. std::string number = std::to_string(sum);
  24. input.push_back(number);
  25. }
  26. void concat(std::vector<std::string>& input) {
  27. std::string numberA = *(input.end() - 1);
  28. input.pop_back();
  29. std::string numberB = (*(input.end() - 1));
  30. input.pop_back();
  31. std::string number = numberB+numberA;
  32. input.push_back(number);
  33. }
  34. void print(const std::vector<std::string>& forPrint) {
  35.  
  36. for (std::string i : forPrint) {
  37. std::cout << i<<std::endl;
  38. }
  39. }
  40. int main (){
  41. std::string line;
  42. std::vector<std::string> inputContainer;
  43. while (line != "end") {
  44.  
  45. std::cin >> line;
  46. inputContainer.push_back(line);
  47. if (line == "sum") {
  48. inputContainer.pop_back();
  49. sum(inputContainer);
  50. }
  51. else if (line == "subtract") {
  52. inputContainer.pop_back();
  53. subtract(inputContainer);
  54. }
  55. else if (line == "concat") {
  56. inputContainer.pop_back();
  57. concat(inputContainer);
  58. }
  59. else if (line == "discard") {
  60. inputContainer.pop_back();
  61. if (!inputContainer.empty()) {
  62. inputContainer.pop_back();
  63. }
  64. }
  65.  
  66. }
  67. inputContainer.pop_back();
  68. print(inputContainer);
  69.  
  70. return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement