Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<conio.h>
- #include<string.h>
- #include<stdlib.h>
- void kat(int god)
- {
- int a,b,c,d,e,f,g,h,i,k,l,m,mesec,dan;
- char mes[6];
- /* Ovaj algoritram se naziva Bucherov algoritam
- i vazi za sve godine posle 1582. (ukljucujuci i nju)*/
- a=god%19; /*ostatak pri deljenju godine sa 19*/
- b=god/100; /*rezultat deljenja godine sa 100*/
- c=god%100; /*ostatak pri deljenju godine sa 100*/
- d=b/4;
- e=b%4;
- f=(b+8)/25;
- g=(b-f+1)/3;
- h=(19*a+b-d-g+15)%30; /*Potrebno za izracunavanje promenljive m*/
- i=c/4;
- k=c%4;
- l=(32+2*e+2*i-h-k)%7;
- m=(a+11*h+22*l)/451; /*Promenljiva m nam treba pri izracunavanju dana i meseca uskrsa*/
- mesec=(h+l-7*m+114)/31; /*Ova linija koda racuna mesec uskrsa, 3 za mart ili 4 za april*/
- dan=((h+l-7*m+114)%31)+1; /*Ova linija koda racunba dan uskrsa*/
- if(mesec==4)
- strcpy(mes,"April");
- if(mesec==3)
- strcpy(mes,"Mart");
- printf("Katolicki uskrs: %d. %s\n\n",dan,mes);
- }
- void prav (int god)
- {
- int a,b,c,d,e,m,dan,dang,vek;
- char mesec[6];
- /* Ovo je Jean Meeusov algoritam, koristi se za izracunavanje
- pravoslavnog uskrsa po julijanskom kalendaru, da bi
- se prilagodilo danasnjem racunanju vremena mora se posle
- ovog algoritma konvertovati u gregorijanski kalendar*/
- a=god%4;
- b=god%7;
- c=god%19;
- d=(19*c+15)%30;
- e=((2*a)+(4*b)-d+34)%7;
- m=(d+e+114)/31;
- dan=((d+e+114)%31)+1;
- if(m==4)
- strcpy(mesec,"April");
- if(m==3)
- strcpy(mesec,"Mart");
- printf("Pravoslavni uskrs po julijanskom kalendaru: %d. %s\n\n",dan,mesec);
- if(god%100!=0)
- vek=god/100+1;
- else vek=god/100;
- dang=dan+(3*(vek)/4)-2;
- /*Ova linija koda konvertuje datum pravoslavnog
- uskrsa sa julijanskog kalendara na gregorijanski*/
- if(god%2000!=0 && god%100==0)
- dang++;
- if(dang>31 && m==3)
- /*Prilikom konverzije moze se desiti da dan
- predje 31 pa u tom slucaju smanjujemo dan
- za 31 a mesec povecavamo za 1*/
- {
- dang=dang-31;
- m++;
- }
- if(dang>30 && m==4)
- /*Prilikom prethodne konverzije moze se
- desiti da dan predje 30 pa u tom slucaju
- smanjujemo dan za 30 i povecavamo mesec za jos 1*/
- {
- dang=dang-30;
- m++;
- }
- if(m==4)
- strcpy(mesec,"April");
- if(m==5)
- strcpy(mesec,"Maj");
- printf("Pravoslavni uskrs po gregorijanskom kalendaru: %d. %s\n\n",dang,mesec);
- }
- main()
- {
- int god,a=1;
- do{
- printf("Unesite godinu: ");
- scanf("%d",&god);
- kat(god);
- prav(god);
- printf("Za izlaz iz programa unesite 2, za dalje koriscenje unesite 1\n");
- scanf("%d",&a);
- system("cls");
- }while(a==1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement