éxamen diciembre 2022 problema 2

éxamen diciembre 2022 problema 2

de Virginia Andrea Alonzo Perez -
Número de respuestas: 2
Hola 
Mi duda es con respecto al problema 2.
El codigo que yo escribi es :
function res=es mayor(a,b)
res=0
i=1
la=lenght(a)
lb=lenght(b)
If la>lb
res=1
elseif la<lb
res=0
else% caso donde la=lb
while i<=la && res==0
if a(i)>b(i)
res=1
end
i=i+1
end
end
end
Yo lo pense asi porque si el largo del vector de a es mayo al de b y son dos enteros no negativos en notación decimal y representados como vectores si uno es mas largo que otro ya es un numero mas grande. lo mismo si es mas chico la ya sabes que es un numero menor. Luego esta el caso de que sean de igual largo y es ahi donde aplico el while. 
La solucion es bastante diferente y queria saber si este razonamiento es correcto?
Muchas gracias

En respuesta a Virginia Andrea Alonzo Perez

Re: éxamen diciembre 2022 problema 2

de Jimena Ferreira -

Estimada Virginia,

Las condiciones del if y del elseif solo funcionarian si el primer valor de los vectores es distinto de cero. Pero según los ejemplos pueden haber representaciones con ceros al principio. 

Alguno de los ejemplos de la letra son: 

Esmayor([0 0 5], [5])-> 0

Esmayor([0 0 6], [5])-> 1

Por esta razón la solución agrega ceros al principio de los vectores e iguala tamaños. Y una vez que se tiene los vectores del mismo tamaño se busca si a es mayor que b.