ayuda con programa en C para calcular dia de pascua

Iniciado por garukusanagi23, 27 Octubre 2018, 18:10 PM

0 Miembros y 1 Visitante están viendo este tema.

garukusanagi23

hola
necesito calcular el dia de pascua de los entre 1984 y 2000, tengo el siguiente codigo pero no se como hacer que me imprima las fechas de los años mencionados, podrian ayudarme?
el codigo que tengo es:

#include <stdio.h>
main()
{
 int año, a,b,c,d,e,dia;
 printf ("\n\n\n  *** Programa para Determinar la fecha del Domingo de Pascua ***\n");
 printf ("\n\n\tTeclee el Año: ");
scanf("%d", &año);
 a=año % 19;
 b=año % 4;
 c=año % 7;
 d=(19*a+24) % 30;
 e=(2*b+4*c+6*d+5) % 7;
 dia= 22+d+e;
         printf("\n\n\tLa Fecha del Domingo de Pascua de %d es: ",año);
                if (dia<=31)
printf("%d de Marzo ",dia);
                else
printf("%d de Abril ",dia-31);
       return 0;
}



Beginner Web

7w7

EdePC

Saludos,

- Intenta lo siguiente:

#include <stdint.h>

int main() {
 
  int año = 2016; // Aquí tu año

  int M = 24;
  int N = 5;
  int a, b, c, d, e, dia, mes;

  a = año % 19;
  b = año % 4;
  c = año % 7;
  d = (19 * a + M) % 30;
  e = (2 * b + 4 * c + 6 * d + N) % 7;

  // Decidir entre los 2 casos:
  if (d + e < 10) {
    dia = d + e + 22;
    mes = 3; // Marzo = 3
  } else {
    dia = d + e - 9;
    mes = 4; // Abril = 4
  }

  // Excepciones especiales (según wikipedia)
  if (dia == 26  && mes == 4) {
    dia = 19;
  }
  if (dia == 25 && mes == 4 && d == 28 && e == 6 && a > 10) {
    dia = 18;
  }

  // Muestra
  if (mes == 3) {
    printf("Pascua: %d de Marzo del %d", dia, año);
  } else if (mes == 4) {
    printf("Pascua: %d de Abril del %d", dia, año);
  }

  return 0;
}


-- Día de Pascua y cálculo: https://es.wikipedia.org/wiki/Computus
-- Algoritmos de cálculo en algunos lenguajes: https://es.wikipedia.org/wiki/Anexo:Implementaciones_del_algoritmo_de_c%C3%A1lculo_de_la_fecha_de_Pascua