Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/02/2015, 04:48
Avatar de Xerelo
Xerelo
 
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: [Ayuda]Contar los domingos de X años

A mí me salen 171, puede ser que me haya equivocado pero he cogido algunos años al azar y son correctos.

A ver, tu código desde el punto de vista de mantenibilidad es horroroso, no se puede ver claramente la estructura y es difícil de depurar.


Para trabajar con fechas te sería mucho más cómodo usar la clase GregorianCalendar, aunque no sé si está permitido usarlas en este ejercicio. De todas formas yo lo he hecho sin ella y sin dividir el código en métodos para que fuera parecido al tuyo.

Tienes que tener en cuenta que en ocasiones no se necesita un método supergenérico, parte de la programación es escribir código adaptado a las circunstancias, por lo que a veces se pueden usar "trucos" que aligeran el código y los tiempos.

En este caso he utilizado algo sencillo, si el primer día a contar es el un lunes 1, todos los domingos caerán en múltiplo de 7.

Sé que no quieres la solución (me parece genial por tu parte) pero por si te interesa una vez solucionado tu código.

http://ideone.com/xAgSAC

Para depurar tu código, te recomiendo que empieces por lo sencillo y añade trazas.

Comprueba con trazas que estás detectando correctamente todos los años bisiestos.
Pinta el mes y año cada vez que encuentres un domingo primeros de mes.
Haz una prueba con un año, después añade otro y por último 4, de esa forma habras abarcado todos los casos.

Edito:

Creo que no has leído bien el enunciado

Cita:
¿Cuántos domingos cayó en el primer día del mes durante el siglo XX (1 enero 1901 a 31 diciembre 2000)?
No que cuentes todos los domingos.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Última edición por Xerelo; 26/02/2015 a las 05:57