public string Evaluate() { //if (eval != "") return eval; if (POSTstr.Contains("Error")) { return("Error"); } if (POSTstr == "") { if (INstr != "") { POSTstr = InToPost(); } else if (PREstr != "") { POSTstr = PreToPost(); } else { return("Error"); } } eval = evaPost(); return(eval); }
private string Po2I() { if (POSTstr.Contains("Error") || POSTstr == "") { return("Error"); } string result = "", right = "", left = ""; myStack = new Stack(POSTstr.Length); for (var pivot = 0; pivot < POSTstr.Length; pivot++) { if (isOperator(POSTstr[pivot])) { right = myStack.pop(); left = myStack.pop(); myStack.push("(" + left + POSTstr[pivot] + right + ")"); } else if (POSTstr[pivot] == ',') { var newstr = ""; var ch = ' '; while (true) { if (pivot < POSTstr.Length) { pivot++; } ch = POSTstr[pivot]; if (ch == ',') { break; } newstr += ch; } myStack.push(newstr); } else if (POSTstr[pivot] != ' ') { myStack.push(POSTstr[pivot].ToString()); } } result += myStack.pop(); return(result); }
public string Evaluate() { //if (eval != "") return eval; if (POSTstr.Contains("Error")) { return("Error"); } if (POSTstr == "") { if (INstr != "") { POSTstr = GetPostfix(); } else { return("Error"); } } eval = EvaPost(); return(eval); }