Răspuns :
1. La 1, aduni ora cu ora și minutul cu minutul. Apoi, fiind posibilitatea ca suma minutelor să treacă de 60, pui o condiție, și rezolvi.
ora = ora1+ora2;
min = min1+min2;
if(min>=60){
min = min - 60;
ora = ora + 1;
}
2 și 3.
Aici cred că avem nevoie de același vector:
cin>>zi>>luna>>an;
cin>>n;
v[1] = 31;
if((an % 4 == 0) && !(an % 100 == 0)|| (an % 400 == 0))
v[2] = 29; //an bisect
else
v[2] = 28; //an nebisect
v[3] = 31;
v[4] = 30;
v[5] = 31;
v[6] = 30;
v[7] = 31;
v[8] = 31;
v[9] = 30;
v[10] = 31;
v[11] = 30;
v[12] = 31;
//ok, acum adăugăm zilele:
zi = zi + n;
//acum facem scăderile de rigoare
//Adică pentru cazul în care numărul de zile adăugate
//ar fi trecut peste limita de lună
while(zi > v[luna]){
zi = zi - v[luna]; //scadem zilele din luna curentă
luna = luna + 1; //și trecem la luna următoare
if(luna > 12){ //Dacă cumva luna următoare ar fi 13,
//trebuie să o resetăm la 1
luna = 1;
an = an + 1; //Și creștem anul, pentru că am trecut la următorul.
}
}
3.
cin>>zi1>>luna1>>an1;
cin>>zi2>>luna2>>an2;
if(
an1 > an2 ||
an1 == an2 && luna1 > luna2 ||
an1 == an2 && luna1 == luna2 && zi1 > zi1
){
cout<<"prima data este mai mare";
}else if(an1 == an2 && luna1 == luna2 && zi1 == zi1){
cout<<"datele sunt egale";
}else{
cout<<"a doua data este mai mare";
}
ora = ora1+ora2;
min = min1+min2;
if(min>=60){
min = min - 60;
ora = ora + 1;
}
2 și 3.
Aici cred că avem nevoie de același vector:
cin>>zi>>luna>>an;
cin>>n;
v[1] = 31;
if((an % 4 == 0) && !(an % 100 == 0)|| (an % 400 == 0))
v[2] = 29; //an bisect
else
v[2] = 28; //an nebisect
v[3] = 31;
v[4] = 30;
v[5] = 31;
v[6] = 30;
v[7] = 31;
v[8] = 31;
v[9] = 30;
v[10] = 31;
v[11] = 30;
v[12] = 31;
//ok, acum adăugăm zilele:
zi = zi + n;
//acum facem scăderile de rigoare
//Adică pentru cazul în care numărul de zile adăugate
//ar fi trecut peste limita de lună
while(zi > v[luna]){
zi = zi - v[luna]; //scadem zilele din luna curentă
luna = luna + 1; //și trecem la luna următoare
if(luna > 12){ //Dacă cumva luna următoare ar fi 13,
//trebuie să o resetăm la 1
luna = 1;
an = an + 1; //Și creștem anul, pentru că am trecut la următorul.
}
}
3.
cin>>zi1>>luna1>>an1;
cin>>zi2>>luna2>>an2;
if(
an1 > an2 ||
an1 == an2 && luna1 > luna2 ||
an1 == an2 && luna1 == luna2 && zi1 > zi1
){
cout<<"prima data este mai mare";
}else if(an1 == an2 && luna1 == luna2 && zi1 == zi1){
cout<<"datele sunt egale";
}else{
cout<<"a doua data este mai mare";
}
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile disponibile v-au fost utile și inspiraționale. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, suntem aici pentru a vă ajuta. Ne face plăcere să vă revedem și vă invităm să adăugați site-ul nostru la favorite pentru acces rapid!