#576 · Subiectul II · Programare
Ștergerea din vector a numerelor cu cifre de aceeași paritate (sterge și cif)
✓ Rezolvare explicatăBucurești 2020 · nr. 4
Enunț
În fișierul atestat.in, pe prima linie se află un număr natural n (1≤n≤100), iar pe a doua linie n numere naturale distincte cu cel mult 4 cifre fiecare. În fișier există cel puțin un număr care are cifre de parități diferite.
Se consideră subprogramele:
sterge, cu trei parametri:v, un tablou unidimensional cu cel mult 100 de numere naturale de cel mult 4 cifre,n, numărul efectiv de elemente ale luiv, șix, un număr natural cu cel mult 4 cifre. Subprogramul șterge dinv, dacă îl găsește, elementul cu valoareax, actualizând corespunzătorn. Tabloul modificat este furnizat tot prinv;cif, cu un parametrun, număr natural cu cel mult 4 cifre. Subprogramul returnează1dacănare toate cifrele de aceeași paritate, altfel0.
a. Scrieți definiția completă a subprogramului sterge.
b. Scrieți definiția completă a subprogramului cif.
c. Scrieți un program care citește din atestat.in cele n numere și șterge din tablou, folosind apeluri utile ale subprogramelor sterge și cif, toate numerele care au cifrele de aceeași paritate. Elementele tabloului modificat se scriu, separate prin câte un spațiu, pe prima linie a fișierului atestat.out. Dacă nu s-a găsit niciun astfel de număr, se scrie mesajul nu exista.
Exemple
atestat.in |
atestat.out |
Explicații |
|---|---|---|
737 132 7 2785 86 490 18 |
132 2785 490 18 |
Se șterg 37 (impare), 7 (o singură cifră), 86 (pare) |
312 345 1098 |
nu exista |
Subiectul nu dă acest exemplu: niciun număr nu se șterge |
Rezolvare
Exersează mai departe