Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Edu en 21 Abril 2011, 05:04 am



Título: Problema extraño al insertar texto.
Publicado por: Edu en 21 Abril 2011, 05:04 am
Ya hice un post pero quedo en el olvido, ahora yo lo habia terminado y andaba perfectamente pero ahora no se q mier**.
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
  1.  public static void ShowNivel(ref string texto)
  2.        {
  3.            int nivel = 1;
  4.            MessageBox.Show("Hi");
  5.            for (int i = 0; i < texto.Length; i++)
  6.            {
  7.                if (texto[i].ToString() == "(")
  8.                {
  9.                    texto = texto.Substring(0, i) + "*" + texto.Substring(i);
  10.                    i++;
  11.  
  12.                }
  13.  
  14.            }
  15.            MessageBox.Show("Sigue");
  16.  
  17.            for (int i = 0; i < texto.Length; i++)
  18.            {
  19.  
  20.                if (texto[i].ToString() == "(")
  21.                {
  22.                    texto = texto.Substring(0, i) + nivel.ToString() + texto.Substring(i);
  23.                    i++;
  24.                    nivel++;
  25.                }
  26.            }
  27.            MessageBox.Show("Chau");
  28.  
  29.            for (int i = 1; i < texto.Length; i++)
  30.            {
  31.  
  32.                if (texto[i - 1].ToString() == ")")
  33.                     {
  34.  
  35.                             if ((texto[i].ToString() != "+") && (texto[i].ToString() != "-") &&
  36.                                    (texto[i].ToString() != ")") && (texto[i].ToString() != "*")
  37.                                        && (texto[i].ToString() != "="))
  38.                             {
  39.                                 texto = texto.Substring(0, i) + "$" + texto.Substring(i);
  40.                                 i++;
  41.                             }
  42.  
  43.                     }
  44.  
  45.            }
  46.  
  47.  
  48.        }
  49.  

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


Título: Re: Problema extraño al insertar texto.
Publicado por: Edu en 24 Abril 2011, 00:29 am
Ya lo solucione, gracias!