• Viernes 1 de Noviembre de 2024, 12:22

Autor Tema:  no entiendo xq m sale error en este algoritmo recursivo  (Leído 1235 veces)

josdiazh

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
no entiendo xq m sale error en este algoritmo recursivo
« en: Jueves 16 de Octubre de 2008, 00:51 »
0
Buenas, quisiera que me hicieran el favor y me ayudaran. No entiendo xq m sale error en este algoritmo. La idea es coger una suma de numeros en forma de cadena y mostrar el resultado, pero se me explota al momento de hacer la suma, me dice y q stack over flow, yo c que eso es la pila, pero no entiendo xq no explota, este es el algoritmo. Gracias d antemano

private:System::String ^suma_recursivo(String ^cadena)
{
cadena=textBox1->Text;
String ^resultado,^cadaux=cadena;
int indice;

if (cadaux->Length==1)
{
return cadena;
}
else
{
indice=cadaux->IndexOf("+");

return resultado=cadaux->Substring(0,indice)+suma_recursivo(cadaux=cadau x->Substring(indice+1));

}



}

r0d

  • Miembro activo
  • **
  • Mensajes: 37
  • Nacionalidad: fr
    • Ver Perfil
    • http://r0d.developpez.com/index-es.php
Re: no entiendo xq m sale error en este algoritmo recursivo
« Respuesta #1 en: Sábado 22 de Noviembre de 2008, 16:39 »
0
buenos días,

eso es c++/cli, no es realmente c++. ¿Cual es el error que tienes?

m0skit0

  • Miembro de PLATA
  • *****
  • Mensajes: 2337
  • Nacionalidad: ma
    • Ver Perfil
    • http://fr33kk0mpu73r.blogspot.com/
Re: no entiendo xq m sale error en este algoritmo recursivo
« Respuesta #2 en: Lunes 24 de Noviembre de 2008, 09:13 »
0
Si tienes un stack overflow (desbrodamiento de pila, para que nos entendamos) es que probablemente tu condición de salida de la recursividad está mal, con lo que llenas la pila de direcciones de retorno. Prueba a poner una condición menos restrictiva, tipo <= en vez de ==.