Calendar1

Se citesc 3 numere naturale z1 l1 a1, reprezentând o dată calendaristică corectă, în format zi luna an. Să se afişeze data zilei următoare.

Date de intrare
Programul citește de la tastatură numerele z1 l1 a1.

Date de ieşire
Programul afișează pe ecran numerele z2 l2 a2, separate prin exact un spaţiu, reprezentând data zilei următoare.

Restricţii şi precizări
data calendaristică citită este corectă

Exemplu
Intrare

28 2 2000
Ieșire

29 2 2000

SOLUTIE

#include <iostream>
using namespace std;

int main()
{
    int z , l , a;
    cin >> z >> l >> a;
    z ++;
    if(l == 1 || l == 3 || l == 5 || l == 7 || l == 8 || l == 10 || l == 12)
            if(z>31)
            {
                z = 1, l ++;
                if(l>12)
                    l = 1, a++;
            }
    if(l == 4 || l == 6 || l == 9 || l == 11)
            if(z>30)
                z = 1, l ++;;
    if(l == 2)
    {
            if( (a % 4 == 0 && a % 100 != 0) || a % 400 == 0)
            {
                if(z>29)
                    z = 1, l ++;;
            }
            else
                if(z > 28)
                    z = 1, l ++;
    }
    cout << z << " " << l << " " << a;
    return 0;
}
%d bloggers like this: