static void MathPrefixExpressions() { clsPila miPila = new clsPila(); int n = 0, a = 0, b = 0, r = 0; Console.WriteLine("Ingrese la expresión en prefix"); string exp = Console.ReadLine(); char caracter = ' '; for (n = exp.Length - 1; n >= 0; n--) { caracter = exp[n]; if (caracter >= '0' && caracter <= '9') { miPila.Push(Convert.ToInt32(caracter.ToString())); } else { a = miPila.Pop(); b = miPila.Pop(); if (caracter == '+') { r = a + b; miPila.Push(r); } if (caracter == '-') { r = a - b; miPila.Push(r); } if (caracter == '/') { r = a / b; miPila.Push(r); } if (caracter == '*') { r = a * b; miPila.Push(r); } } } miPila.Transversa(); }
//EXPRESIONES static void Expresiones_Matematicas() { clsPila miPila = new clsPila(); int n = 0, a = 0, b = 0, r = 0; Console.WriteLine("Ingrese la expresión con simbolo de operación inicial");//indicamos que operación realizaremos mediente el simbolo string exp = Console.ReadLine(); char caracter = ' '; for (n = exp.Length - 1; n >= 0; n--) { caracter = exp[n]; if (caracter >= '0' && caracter <= '9') { miPila.Push(Convert.ToInt32(caracter.ToString())); } else { a = miPila.Pop(); b = miPila.Pop(); //ménu de operaciones aritmeticas if (caracter == '+') { r = a + b; miPila.Push(r); } if (caracter == '-') { r = a - b; miPila.Push(r); } if (caracter == '/') { r = a / b; miPila.Push(r); } if (caracter == '*') { r = a * b; miPila.Push(r); } } } miPila.Transversa(); }