Parcial 2019 ej 6.c

Parcial 2019 ej 6.c

de Maria Pia Duran Dieste -
Número de respuestas: 2

Hola. Estamos teniendo problemas para resolver este ejercicio. La partes a y b nos quedaron bien, pero en la c no nos funciona. No sabemos si estamos llamando mal a las funciones minced e intercambiar o es un error en la idea del codigo. 

Adjunto captura de las partes a y b, y lo que pensamos para la c. Gracias. 


En respuesta a Maria Pia Duran Dieste

Re: Parcial 2019 ej 6.c

de Eduardo Fernandez -

Hola,

Creo que el problema principal es que llaman a intercambiar y el resultado no va a ninguna variable. En definitiva actua como si no intercambiase.

Después tenés el problema de que el código es ineficiente, porque ordenás todo C (o M en tu notación) y luego te fijás cuáles son las cédulas menores a cimax. En realidad habría que ordenar sólo hasta que el menor de lo que queda de C sea >= cimax. 

Espero haber sido claro.

saludos,
Eduardo

En respuesta a Eduardo Fernandez

Re: Parcial 2019 ej 6.c

de Eduardo Fernandez -
También llamas a MinCed y no cargás en índice el valor, entonces ni MinCed ni Intercambiar hacen nada cuando son llamadas desde OrdenarHastaCImax.
Tenés que comprender que lo que ocurre dentro de una función no lo sabe la función que la llama, sólo sabe el resultado final, pero eso tiene estar explicitado.
En este caso sería, por ejemplo :
indice=MinCed(....)
M=intercambiar(....)

Espero que te sea de ayuda.
Eduardo