Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace ConsoleApp
- {
- class Math
- {
- static public List<string> MathParse(string input)
- {
- var primer = new List<string>();
- var num = "";
- foreach (char k in input)
- {
- if (char.IsDigit(k))
- num += k;
- else
- {
- primer.Add(num);
- num = "";
- primer.Add(k + " ");
- }
- }
- primer.Add(num);
- return primer;
- }
- public static string MathSolve(List<string> primer)
- {
- var i = 1;
- while (i < primer.Count)
- {
- if (primer[i] == "* " || primer[i] == "/ " || primer[i] == "% ")
- {
- var z = primer[i];
- string ans;
- if (z == "* ")
- {
- ans = (int.Parse(primer[i - 1]) * int.Parse(primer[i + 1])).ToString();
- }
- else if (z == "/ ")
- {
- ans = (int.Parse(primer[i - 1]) / int.Parse(primer[i + 1])).ToString();
- }
- else
- {
- ans = (int.Parse(primer[i - 1]) % int.Parse(primer[i + 1])).ToString();
- }
- primer[i - 1] = ans;
- primer.RemoveAt(i + 1);
- primer.RemoveAt(i);
- }
- else i += 1;
- }
- if (primer.Count == 1)
- return primer[0];
- i = 1;
- while (i < primer.Count)
- {
- if (primer[i] == "+ " || primer[i] == "- ")
- {
- var z = primer[i];
- string ans;
- if (z == "+ ")
- {
- ans = (int.Parse(primer[i - 1]) + int.Parse(primer[i + 1])).ToString();
- }
- else
- {
- ans = (int.Parse(primer[i - 1]) - int.Parse(primer[i + 1])).ToString();
- }
- primer[i - 1] = ans;
- primer.RemoveAt(i + 1);
- primer.RemoveAt(i);
- }
- else i += 1;
- }
- return primer[0];
- }
- public static string MathSolve(string objects)
- {
- var primer = MathParse(objects);
- var answer = MathSolve(primer);
- return answer;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement