Sie sind auf Seite 1von 2

FUNCION CON VARIABLES Y

ATRIBUTOS

Miguel Martínez
ITESI Tarimoro
public static string PasarStringPositivo(this string stringeninfijo)
{
int tamanio = stringeninfijo.Length;
Stack<char> pila = new Stack<char>();
StringBuilder stringenpostfijo = new StringBuilder();

for (int i = 0; i < tamanio; i++)


{
if ((stringeninfijo[i] >= '0') && (stringeninfijo[i] <= '9'))
{
stringenpostfijo.Append(stringeninfijo[i]);
}
else if (stringeninfijo[i] == '(')
{
pila.Push(stringeninfijo[i]);
}
else if ((stringeninfijo[i] == '*') || (stringeninfijo[i] == '+') ||
(stringeninfijo[i] == '-') || (stringeninfijo[i] == '/'))
{
while ((pila.Count > 0) && (pila.Peek() != '('))
{
if (precedenciadeoperadores(pila.Peek(), stringeninfijo[i]))
{
stringenpostfijo.Append(pila.Pop());
}
else
{
break;
}
pila.Push(stringeninfijo[i]);
}
}
else if (stringeninfijo[i] == ')')
{
while ((pila.Count > 0) && (pila.Peek() != '('))
{
stringenpostfijo.Append(pila.Pop());
}
if (pila.Count > 0)
pila.Pop(); // quita el parentesis izquierdo de la pila
}
}
return stringenpostfijo.ToString();
}

Das könnte Ihnen auch gefallen