DCF ptakovina - videli jste to uz nekdy?
Jakub Ladman
ladmanj@volny.cz
Pondělí Únor 18 01:43:51 CET 2008
Uz to mam, scitam jen o kolik se to za ty roky posune.
Tim ze jsem zvolil 96 tak jsem se nezbavil problemu s nultym prestupnym rokem.
Takhle jak to je uz to vypada lepe:
int dvt (int rok, int mesic, int den) {
int d;
d = rok + 3;
d += (d/4); //za kazdy uplynuly prestupny rok pricteme den
d += 2; //1.1.1997 byla streda
int i,j;
for(i=mesic-1;i>0;i--){ //pro kazdy cely uplynuly mesic soucasneho roku
//budeme pricitat pocet jeho dnu
j = i-1; //index poctu dnu v mesici v tabulce
if ((j==1)&&!(rok%4)) j=12; //je-li aktualne zpracovavany mesic
//unor a je-li prestupny rok
//koukneme se na alternativni delku unora
d += days_in_month[j];
}
d += den-1; //pricteme pocet uplynulych dnu v aktualnim mesici
return d%7;
}
Ale mozna je to stale blbe (ten zachvat).
Jakub
Dne Monday 18 February 2008 01:28:51 Miroslav Sinko napsal(a):
> --- Jakub Ladman <ladmanj@volny.cz> wrote:
> > d = rok + 4; //za kazdy rok od 1.1.1996 pricteme den
>
> preco + 4?
>
> bud poctivo:
> d = 365 * rok; //vsetky roky, ako by boli nepriestupne
> alebo jednoduchsie:
> d = rok; //kedze 365%7=1 a 1.1.1996 bol pondelok (index 0)
>
> > d += (d/4); //za kazdy uplynuly prestupny rok pricteme den
>
> preco d/4?
> ^
>
> d += (rok/4);
> ^^^
>
> miro
>
>
>
> ___________________________________________________________________________
>_________ Be a better friend, newshound, and
> know-it-all with Yahoo! Mobile. Try it now.
> http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list@list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list