Parcial 2020 ej 6

Parcial 2020 ej 6

de LucãA Aguirre Acuã‘A -
Número de respuestas: 5

Buenas! 

Quería consultar sobre la solución de este ejercicio. 


Lo hice exactamente igual pero en vez de poner la llamada recursiva al incio del else la puse directo en el vector v (donde dice v_rec). Quería saber porque está mal, por lo que vi en el teórico si no hago la llamada enseguida después del else no para de llamar recursivamente (similiar a no parar de iterar), es por esto? porque la verdad no me doy cuenta si esto es así.

Gracias!

En respuesta a LucãA Aguirre Acuã‘A

Re: Parcial 2020 ej 6

de Eduardo Fernandez -

Hola,

Poné tu solución, porque no me queda claro lo que decís.

Eduardo

En respuesta a Eduardo Fernandez

Re: Parcial 2020 ej 6

de LucãA Aguirre Acuã‘A -
No me deja agregar fotos ni enviar el código bien, se envía corrido y no se entiende.

Trato de explicar mejor, en el parcial luego del caso base viene un else, el cuál le sigue una llamada recursiva, esa llamada yo no la puse, puse directamente el if donde compara x(1) e y(1). Luego en vez de poner v=[x(1) v_rec] o v=[y(1) v_rec] puse v=[x(1) min2vect (x(2:lx),y(2:ly)) ] y v=[y(1) min2vect (x(2:lx),y(2:ly)) ] , la llamada la hice directamente en los vectores resultantes.
En respuesta a LucãA Aguirre Acuã‘A

Re: Parcial 2020 ej 6

de Eduardo Fernandez -
Hola,
Si tomás el código original y le hacés el cambio que decís que hiciste, funciona bien también.
Me temo que el error está en otra parte y por eso cancela.
Pero para identificarlo tengo que tener acceso al código.
Saludos,
Eduardo
function v = min2Vect(x,y)
lx=length(x);
ly=length(y);
if (lx == 0)
v = [];
else
if (x(1) < y(1))
v = [x(1) min2Vect(x(2:lx),y(2:ly))];
else
v = [y(1) min2Vect(x(2:lx),y(2:ly))];
end
end
end
En respuesta a Eduardo Fernandez

Re: Parcial 2020 ej 6

de LucãA Aguirre Acuã‘A -
Hola!
El código es ese mismo, no lo probé en octave, vi la solución y pensé que estaba mal, porque me entreveré con algo que dijo el profe en la clase de ejercicios de parcial del teórico, que cuando hacemos una búsqueda hay que ver bien donde ponemos la llamada recursiva para que no siga llamando incluso hasta después de que encontramos lo que buscábamos (como si no parara de iterar), entonces pensé que lo mío estaba mal por ese motivo.

Muchas gracias por la ayuda
En respuesta a LucãA Aguirre Acuã‘A

Re: Parcial 2020 ej 6

de Eduardo Fernandez -

Hola,

La mejor forma de aprender es programando y probando.

Ahí se sacan buena parte de las dudas y van a entender el significado de los comentarios misteriosos de los docentes. 

saludos,

Eduardo