Yo quiero insertar un simbolo "*" y al lado una variable q ira aumentando.
Lo siento pero es complicado q explique todo todo, lo q pido es que miren el codigo y si entienden q quiero hacer que me digan como hacerlo de otra forma:
Código
public static void ShowNivel(ref string texto) { int nivel = 1; MessageBox.Show("Hi"); for (int i = 0; i < texto.Length; i++) { if (texto[i].ToString() == "(") { texto = texto.Substring(0, i) + "*" + texto.Substring(i); i++; } } MessageBox.Show("Sigue"); for (int i = 0; i < texto.Length; i++) { if (texto[i].ToString() == "(") { texto = texto.Substring(0, i) + nivel.ToString() + texto.Substring(i); i++; nivel++; } } MessageBox.Show("Chau"); for (int i = 1; i < texto.Length; i++) { if (texto[i - 1].ToString() == ")") { if ((texto[i].ToString() != "+") && (texto[i].ToString() != "-") && (texto[i].ToString() != ")") && (texto[i].ToString() != "*") && (texto[i].ToString() != "=")) { texto = texto.Substring(0, i) + "$" + texto.Substring(i); i++; } } } }
Puse unos MessageBox para ver donde estaba el error y la cosa es q me aparece el "Hi" y el "Sigue" pero no llega al "Chau" entonces pienso q es un bucle infinito y no entiendo bien porque :S ya q consideren que funciona para el string:
(8x)(-4x)+6(3+x)-(4x+8-3(+3+4(-x(8+5)4))2+10)
Pero no funciona para este otro:
(8x)(-4x)+6(3+x)-(4x+8-3(+3+4(-x(8+5)4))2+10(5)4(6)(7)(89)(90))
ni para:
(8x)(-4x)+6(3+x)-(4x+8-3(+3+4(-x(8+5)4))2+10(5)4(6)(7)(89)(90+3-7)2(+3+4(-x(8+5)4))+10)
No tiene q ver por la longitud de la cadena sino por los parentesis, pero no se porque no funciona, alguna idea o como cambio de forma ese codigo? :S