Ahoj,
dneska jsem se asi opravdu musel nudit, protoze jsem si zkousel naprogramovat
klasicky zkouskovy priklad z prvaku: k danemu datu urcete den v tydnu.
Kdysi davno jsme to videl naprogramovat velice huste a bez jednineho ifu.
No urcite jsem to nedal ve stanovenem case, ale vysledek pozadovanou
hustotu ma:
/*
* vstup: d - den, m - mesic, y - rok
* vystup: den v tydnu: 0 nedele -- 6 sobota
* (jen gregoriansky kalendar).
*/
int
weekday(int d, int m, int y)
{
m = (m+9)%12;
y -= m++/10;
return (d+y+y/4-y/100+y/400+m*16%27)%7;
}
|