Advertisement
Guest User

Untitled

a guest
Aug 20th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. postfix = postfix.Trim();
  2. string[] ans = postfix.Split(' ');
  3. Stack<int> eval = new Stack<int>();
  4. for (int x = 0; x < ans.Length; x++)
  5. {
  6. if ("*+%/-".Contains(ans[x]))
  7. {
  8. int temp1;
  9. int temp2;
  10.  
  11. switch (ans[x])
  12. {
  13. case ("*"):
  14. eval.Push(eval.Pop() * eval.Pop());
  15. break;
  16. case "-":
  17. temp1 = eval.Pop();
  18. temp2 = eval.Pop();
  19. eval.Push(temp2 - temp1);
  20. break;
  21. case "%":
  22. temp1 = eval.Pop();
  23. temp2 = eval.Pop();
  24. eval.Push(temp2 % temp1);
  25. break;
  26. case "+":
  27. eval.Push(eval.Pop() + eval.Pop());
  28. break;
  29. case "/":
  30. temp1 = eval.Pop();
  31. temp2 = eval.Pop();
  32. eval.Push(temp2 / temp1);
  33. break;
  34. }
  35.  
  36. }
  37. else
  38. eval.Push(Convert.ToInt32(ans[x]));
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement