//Correcting all it can / should public string Correct(string par) { List <char> ret = new List <char>(); par = Normalize(par); for (int i = 0; i < par.Length; i++) { if (ArrayLib.Contains(NUMBERS, par[i])) { ret.Add(par[i]); } else if (ArrayLib.Contains(OPERATORS, par[i])) { ret.Add(par[i]); } else if (ArrayLib.Contains(PARANTHESES, par[i])) { ret.Add(par[i]); } } par = new string(ret.ToArray()); par = AddParanthesesMultiplicator(par); return(par); }
//Checking for errors public bool Validate(string param) { if (!(ArrayLib.Count(param.ToCharArray(), '(') == ArrayLib.Count(param.ToCharArray(), ')'))) { Prog.ThrowError(1); return(false); } for (int i = 0; i < param.Length; i++) { if (ArrayLib.Contains(OPERATORS, param[i]) && ArrayLib.Contains(OPERATORS, param[i + 1])) { Prog.ThrowError(0); return(false); } } return(true); }
static void Main(string[] args) { StringHandle sh = new StringHandle(); string toPass = sh.Correct(Console.ReadLine()); //Console.WriteLine(toPass); if (sh.Validate(toPass)) { string[] str = sh.Partition(toPass); Console.WriteLine("-------------------------"); ArrayLib.PrintToConsole(str); } else { } Console.ReadKey(); }
public ElementType GetElementType(char element) { if (ArrayLib.Contains(OPERATORS, element)) { return(ElementType.Operator); } else if (ArrayLib.Contains(NUMBERS, element)) { return(ElementType.Number); } else if (ArrayLib.Contains(PARANTHESES, element)) { return(ElementType.Parantheses); } else { return(ElementType.None); } }