P0020. El rellotge de l'Amalia P72570


Statement
 

pdf   zip

thehtml

[r] En Pablo i l’Amalia van anar en avió a una boda a Sevilla. Un cop a l’aeroport, l’Amalia es va adonar que s’havia deixat el rellotge a casa, així que en Pablo va entrar en una botiga d’electrònica i li va comprar un rellotge binari. Com que sap que l’Amalia és molt friqui, va pensar que seria una bona idea. I, en efecte, l’Amalia està molt satisfeta del regal del seu espòs, i llueix el rellotge sempre que pot. Ara bé, llegir l’hora en binari és una mica complicat!

Ajudeu l’Amalia fent un programa que llegeixi hores en notació binària i les escrigui en notació decimal. Les hores venen donades en el format “|hores|minuts|segons|”, on cada camp ve donat en binari, usant asteriscos per marcar els uns i dòl·lars per marcar els zeros.

El vostre programa ha de definir i utilitzar l’acció

void llegeix_hora(int& h, int& m, int& s);

que llegeix una hora en binari en el format “|hores|minuts|segons|” i deixa en els paràmetres de sortida h, m i s els valors corresponents.

El vostre programa també ha de definir i utilitzar l’acció

void escriu_hora(int h, int m, int s);

que escriu en una línia la hora donada en el format “h:m:s”.

Entrada

L’entrada comença amb un natural n. A continuació segueixen n hores en binari, segons el format descrit. Les hores estan entre 0 i 23, i els minuts i els segons estan entre 0 i 59.

Sortida

Cal escriure cada hora de l’entrada en decimal segons el format descrit.

Public test cases
  • Input

    3
    |**$$|**|*$*$$$|
    |$|$|$|
    |*$***|***$**|***$**|
    

    Output

    12:3:40
    0:0:0
    23:59:59
    
  • Information
    Author
    Professorat de P1
    Language
    Catalan
    Official solutions
    C++
    User solutions
    C++