Hola:
Te acabo de enviar el código del ejercicio, por un privado.
Le he preferido enviar por privado, ya que era mucho código, y le preferia no ponerle aquí.
He acortado un poco el array, y alguna cosilla, para que me dejaran enviarle por privado.
Espero que encuentres mi error, que seguro que es muy gordo.....
Muchas gracias por las molestias