Advertisement
gosharski

Solve Expressions

Mar 11th, 2021
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.47 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace Solve_expression
  5. {
  6. class Program
  7. {
  8. public static char[] operators = new char[] { '+', '-', '*', '/' };
  9. static void Main(string[] args)
  10. {
  11. string input = Console.ReadLine();
  12.  
  13. Console.WriteLine(CalculateExpression(input));
  14. }
  15.  
  16. static int CalculateExpression(string input)
  17. {
  18. char expressionOperator = input.Where(x => operators.Contains(x)).FirstOrDefault();
  19. string[] numbers = input.Split(expressionOperator, 2);
  20.  
  21. if (!(input.Contains('(') && input.Contains(')')))
  22. {
  23. if (numbers.Length == 1)
  24. {
  25. return int.Parse(numbers[0]);
  26. }
  27.  
  28. return Evaluate(int.Parse(numbers[0]), int.Parse(numbers[1]), expressionOperator);
  29. }
  30.  
  31. return Evaluate(int.Parse(numbers[0]), CalculateExpression(numbers[1].Substring(1, numbers[1].Length - 2)), expressionOperator);
  32. }
  33. static int Evaluate (int a, int b, char Operator)
  34. {
  35. switch (Operator)
  36. {
  37. case '+':
  38. return a + b;
  39. case '-':
  40. return a - b;
  41. case '*':
  42. return a * b;
  43. case '/':
  44. return a / b;
  45. default: return 0;
  46. }
  47. }
  48. }
  49. }
  50.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement