Parcial 2022 ejercicio 5

Parcial 2022 ejercicio 5

de Virginia Andrea Alonzo Perez -
Número de respuestas: 2

Hola 

porque usa el while si es necesario recorrer todo el vector para saber la cantidad de aciertos?

no deberia usar el for ? ya sabemos que son 5 numeros. 

function res = aciertos(vApuesta,vSorteo)

largo= length(vApuesta);

res=0

for i=1:largo

  j=1

if vApuesta(i)==vSorteo(j)

 res = res + 1;

else vApuesta(i)=~vSorteo(j)

 j = j + 1;

endif

endfor

endfunction

Muchas gracias saludos 


En respuesta a Virginia Andrea Alonzo Perez

Re: Parcial 2022 ejercicio 5

de Eduardo Fernandez -

Hola,

Ya se sabe que son 5 números. El tema es que hay que comparar dos secuencias y no sabés cuándo va a parar.

Si una secuencia es apuesta=[1 2 3 4 5] y la otra es sorteo=[10 11 12 13 14], deberías ir recorriendo apuesta tratando de encontrar o pasar el 10 de sorteo y no lo vas a encontrar. Vas a recorrer todo el vector apuesta y sólo recorriste el primer elemento de sorteo. Para luego de 5 iteraciones.

En cambio si apuesta=[1 3  5 7 9] y sorteo=[2 4 6 8 10], va a recorrer ambos y para luego de 9 o 10 iteraciones.

Tu código no funciona. Lo probaste? Fijate que j siempre vale 1, y cuando vale 2, vuelve luego a valer 1.

Analizá tu código y el código de la solución y compará como funcionan.

saludos,

Eduardo