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