Răspuns :
Răspuns:
Pentru a rezolva această problemă, putem defini o structură pentru timp care să conțină trei câmpuri pentru ore, minute și secunde. Apoi, putem citi cele două intervale de timp, să le adunăm și să afișăm rezultatul. Iată un exemplu de cod în C++:
```cpp
#include <iostream>
using namespace std;
// Definim o structură pentru timp
struct Timp {
int ore;
int minute;
int secunde;
};
// Functie pentru adunarea a doua intervale de timp
Timp adunaTimp(Timp t1, Timp t2) {
Timp rezultat;
// Adunăm secundele și ajustăm minutele și orele
rezultat.secunde = (t1.secunde + t2.secunde) % 60;
int transportSecunde = (t1.secunde + t2.secunde) / 60;
// Adunăm minutele și ajustăm orele
rezultat.minute = (t1.minute + t2.minute + transportSecunde) % 60;
int transportMinute = (t1.minute + t2.minute + transportSecunde) / 60;
// Adunăm orele
rezultat.ore = t1.ore + t2.ore + transportMinute;
return rezultat;
}
int main() {
// Declaram si citim cele doua intervale de timp
Timp t1, t2;
cout << "Introduceti intervalul de timp t1 (ore minute secunde): ";
cin >> t1.ore >> t1.minute >> t1.secunde;
cout << "Introduceti intervalul de timp t2 (ore minute secunde): ";
cin >> t2.ore >> t2.minute >> t2.secunde;
// Adunam cele doua intervale de timp
Timp rezultat = adunaTimp(t1, t2);
// Afisam rezultatul
cout << "Suma celor doua intervale de timp este: "
<< rezultat.ore << " ore "
<< rezultat.minute << " minute "
<< rezultat.secunde << " secunde." << endl;
return 0;
}
```
Acest program începe prin declararea unei structuri `Timp` care conține trei câmpuri pentru ore, minute și secunde. Apoi, definește o funcție `adunaTimp` care primește două structuri de timp și returnează suma lor. În funcția `main`, se citesc cele două intervale de timp, se adună și se afișează rezultatul.
Cel mai simplu ar fi sa convertim toate duratele in secunde, sa adunam, apoi sa convertim inapoi la ore, minute, secunde:
#include <iostream>
using namespace std;
int main(){
// Definirea variabilelor pentru primele interval de timp
int t1_ore, t1_minute, t1_secunde;
// Definirea variabilelor pentru al doilea interval de timp
int t2_ore, t2_minute, t2_secunde;
// Citirea primului interval de timp
cout << "Introduceti prima perioada de timp (ore minute secunde): ";
cin >> t1_ore >> t1_minute >> t1_secunde;
// Citirea celui de-al doilea interval de timp
cout << "Introduceti a doua perioada de timp (ore minute secunde): ";
cin >> t2_ore >> t2_minute >> t2_secunde;
// Convertirea intervalului de timp în secunde
int total_secunde_t1 = t1_ore * 3600 + t1_minute * 60 + t1_secunde;
int total_secunde_t2 = t2_ore * 3600 + t2_minute * 60 + t2_secunde;
// Calculul sumei totale a intervalului de timp în secunde
int suma_totala_secunde = total_secunde_t1 + total_secunde_t2;
// Calculul intervalului de timp rezultat în ore, minute și secunde
int ore_rezultat = suma_totala_secunde / 3600;
int minute_rezultat = (suma_totala_secunde % 3600) / 60;
int secunde_rezultat = suma_totala_secunde % 60;
// Afisarea rezultatului
cout << "Suma celor doua intervale de timp este: " << ore_rezultat << " ore " << minute_rezultat << " minute " << secunde_rezultat << " secunde." << endl;
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.