#574 · Subiectul II · Programare
Înjumătățirea numerelor cu toate cifrele pare (subprogramele verif și modif)
✓ Rezolvare explicatăBucurești 2020 · nr. 2
Enunț
Prin înjumătățirea unui număr natural se înțelege înlocuirea fiecărei cifre pare cu jumătatea ei. De exemplu, prin înjumătățirea numărului 5622 se obține numărul 5311.
Fișierul atestat.in conține pe prima linie un număr natural n (2≤n≤100), iar pe a doua linie un șir de n numere naturale cu cel mult 9 cifre fiecare.
Se consideră subprogramele:
verif, cu un singur parametrux(număr natural cu cel mult 9 cifre), care returnează1dacă toate cifrele luixsunt pare, respectiv0în caz contrar;modif, cu unicul parametrux, număr natural. Subprogramul înjumătățește valoarea luix(conform definiției de mai sus) și furnizează numărul modificat prin intermediul aceluiași parametru.
a. Scrieți definiția completă a subprogramului verif.
b. Scrieți definiția completă a subprogramului modif.
c. Scrieți un program care citește din atestat.in numărul n și cele n elemente ale tabloului unidimensional v și, folosind apeluri utile ale subprogramelor verif și modif, înjumătățește elementele tabloului care au toate cifrele pare. Elementele care conțin cel puțin o cifră impară nu se modifică. Programul scrie pe prima linie a fișierului atestat.out elementele tabloului modificat.
Exemple
atestat.in |
atestat.out |
Explicații |
|---|---|---|
563 8644 1024 102 2048 |
63 4322 1024 102 1024 |
Doar 8644 și 2048 au toate cifrele pare |
Rezolvare
Exersează mai departe