Cerinţa
Se citesc 3 numere naturale z l a. Să se decidă dacă reprezintă o dată calendaristică corectă, în format zi luna an.
Date de intrare
Programul citește de la tastatură numerele z l a.
Date de ieşire
Programul afișează pe ecran mesajul DA, dacă cele trei numere formează o dată calendaristică corectă, respectiv NU în caz contrar.
Restricţii şi precizări
1850 ≤ a ≤ 2500
0 ≤ z,l ≤ 100
Exemplu
Intrare
29 2 2000
Ieșire
DA
artur99:
da linku la problema, aproape sigur am rezolvarea =))))))
using namespace std;
int main(){
int z, l, a, chk1, chk2, chk3;
cin>>z>>l>>a;
chk1 = (l>0 && l<12 && a>0 && z>0 && z<=31);
//Prima verificare - verificam daca luna si anul e ok, si daca ziua se incadreaza in limitele max si min
chk2 = ( ((l==1||l==3||l==5||l==7||l==8||l==10||l==12) && z<=31) || ((l==2||l==4||l==6||l==9||l==11) && z<=30) );
//Aci verificam fiecare luna in parte daca nu cumva depaseste limita de zile
chk3 = ( l!=2 || ( ((a%400==0 || (a%4==0 && a%1
Răspunsuri la întrebare
Răspuns de
5
#include <iostream>
using namespace std;
int main(){
int z, l, a, chk1, chk2, chk3;
cin>>z>>l>>a;
chk1 = (l>0 && l<12 && a>0 && z>0 && z<=31);
//Prima verificare - verificam daca luna si anul e ok, si daca ziua se incadreaza in limitele max si min
chk2 = ( ((l==1||l==3||l==5||l==7||l==8||l==10||l==12) && z<=31) || ((l==2||l==4||l==6||l==9||l==11) && z<=30) );
//Aci verificam fiecare luna in parte daca nu cumva depaseste limita de zile
chk3 = ( l!=2 || ( ((a%400==0 || (a%4==0 && a%100!=0)) && z<=29) || (!(a%400==0 || (a%4==0 && a%100!=0)) && z<=28) ));
//Aci verificam luna februarie, cu anul bisect si toate chestiile
if(chk1 && chk2 && chk3) cout<<"DA";
else cout<<"NU";
}
using namespace std;
int main(){
int z, l, a, chk1, chk2, chk3;
cin>>z>>l>>a;
chk1 = (l>0 && l<12 && a>0 && z>0 && z<=31);
//Prima verificare - verificam daca luna si anul e ok, si daca ziua se incadreaza in limitele max si min
chk2 = ( ((l==1||l==3||l==5||l==7||l==8||l==10||l==12) && z<=31) || ((l==2||l==4||l==6||l==9||l==11) && z<=30) );
//Aci verificam fiecare luna in parte daca nu cumva depaseste limita de zile
chk3 = ( l!=2 || ( ((a%400==0 || (a%4==0 && a%100!=0)) && z<=29) || (!(a%400==0 || (a%4==0 && a%100!=0)) && z<=28) ));
//Aci verificam luna februarie, cu anul bisect si toate chestiile
if(chk1 && chk2 && chk3) cout<<"DA";
else cout<<"NU";
}
Alte întrebări interesante
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Studii sociale,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă