Rezolvare completă PbInfo #2004 ore

Cerința

Se consideră două evenimente a căror durată este exprimată fiecare prin câte trei numere naturale: ore (h), minute (m) şi secunde (s).
Să se scrie în fișierul de ieșire:
a) pe primele două linii, duratele în formatul h: m: s
b) pe următoarele două linii, duratele exprimate în secunde, corespunzătoare fiecărui
eveniment, pe rânduri separate;
c) pe următoarea linie suma obţinută din adunarea duratelor celor două evenimente, exprimată în
ore, minute, secunde, în formatul h: m: s.

Date de intrare

Fișierul de intrare ore.in conține două linii pe care sunt scrise câte trei numere naturale, separate prin câte un spaţiu, reprezentând duratele a două evenimente exprimate în: ore (h), minute (m) şi secunde (s).

Date de ieșire

Fișierul de ieșire ore.out va conține pe primele două linii răspuncul de la cerința a), apoi pe liniile 3 și 4 răspunsul la cerința b), iar pe a 5-a linie răspunsul la cerința c).

Restricții și precizări

  • 1 ≤ h ≤ 24
  • 0 ≤ m ≤ 60
  • 0 ≤ s ≤ 60

Exemplu

ore.in

3 35 55
2 40 8

ore.out

3: 35: 55
2: 40: 8
12955
9608
6: 16: 3

Explicație

În fișierul de intrare sunt detaliile referitoare la duratele cele două evenimente, iar suma lor este 6: 16: 3.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema ore:

#include <fstream>
using namespace std;

struct ora
{
    int h,m,s;
} e1,e2,e;

ifstream f("ore.in");
ofstream g("ore.out");

int main()
{
    f>>e1.h>>e1.m>>e1.s;
    f>>e2.h>>e2.m>>e2.s;
    g<<e1.h<<": "<<e1.m<<": "<<e1.s<<endl;
    g<<e2.h<<": "<<e2.m<<": "<<e2.s<<endl;
    int s,a,b;
    a=e1.h*3600+e1.m*60+e1.s;
    b=e2.h*3600+e2.m*60+e2.s;
    g<<a<<endl;
    g<<b<<endl;
    s=a+b;
    e.h=s/3600;
    s=s%3600;
    e.m=s/60;
    e.s=s%60;
    g<<e.h<<": "<<e.m<<": "<<e.s<<endl;
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #2004 ore

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2004 ore de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!