[C++] Cate zile are un an?

Despre limbajul de programare C++ si biblioteca standard STL (forum moderat)

[C++] Cate zile are un an?

Mesajde Ovidiu Cucu » 29 Apr 2009, 14:17

Intrebare: Cate zile are un an?

Raspuns:Un an are 366 sau 365 de zile in functie daca este bisect sau nu.
Regulile care decid daca un an este bisect sunt urmatoarele:
  1. Daca anul se divide la 4 atunci este bisect (exemplu: anul 2008 este bisect);
  2. Exceptie de la regula 1: daca anul se divide la 100 atunci nu este bisect (exemplu: 1900 nu este bisect);
  3. Exceptie de la regula 2: daca anul se divide prin 400 atunci este bisect (exemplu: 2000 este an bisect).
Tinand cont de regulile de mai sus am putea scrie o functie care intoarce true daca un an dat este bisect...
Cod: Selectaţi tot
bool este_an_bisect(unsigned int an)
{
    return ((an % 4) == 0)        // regula nr.1
           && (((an % 100) != 0)  // regula nr.2
           || ((an % 400) == 0)); // regula nr.3
}

...cat si o functie care sa intoarca numarul de zile.
Cod: Selectaţi tot
unsigned int cate_zile_are_anul(unsigned int an)
{
    return este_an_bisect(an) ? 366 : 365;
}



Vezi si...


Next FAQ >>
Avatar utilizator
Ovidiu Cucu
Fondator
Fondator
 
Mesaje: 3680
Membru din: 11 Iul 2007, 16:10
Localitate: Iasi
Judet: Iaşi

Înapoi la C++

Cine este conectat

Utilizatorii ce navighează pe acest forum: Niciun utilizator înregistrat şi 0 vizitatori