SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: josdiazh en Jueves 16 de Octubre de 2008, 00:51

Título: no entiendo xq m sale error en este algoritmo recursivo
Publicado por: josdiazh en Jueves 16 de Octubre de 2008, 00:51
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));

}



}
Título: Re: no entiendo xq m sale error en este algoritmo recursivo
Publicado por: r0d en Sábado 22 de Noviembre de 2008, 16:39
buenos días,

eso es c++/cli, no es realmente c++. ¿Cual es el error que tienes?
Título: Re: no entiendo xq m sale error en este algoritmo recursivo
Publicado por: m0skit0 en Lunes 24 de Noviembre de 2008, 09:13
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 ==.