Exactamente, CalgaryCorpus. Muchas gracias.
Probando la función al parecer funcionaba correctamente. Pero al añadirla a mi programa completo no conseguía los resultados esperados.
Con tu corrección he conseguido terminar satisfactoriamente.
Gracias de nuevo.
PD: En cuanto a la llamada "Menor(s , fin + 5, fin);" no se producirá porque en la función que llama a ésta, hago las comprobaciones necesarias ;)