#579 · Subiectul II · Programare
Eliminarea coloanei cu k elemente formate doar din cifre impare
✓ Rezolvare explicatăBucurești 2020 · nr. 7
Enunț
Fișierul atestat.in conține pe prima linie un număr natural n (2≤n≤20), iar pe următoarele n linii câte n numere naturale cu cel mult 6 cifre, separate prin spațiu.
Se consideră subprogramele:
elimColoana, cu trei parametri:n(n≤20),a, tablou bidimensional cunlinii șincoloane, șik(k≤n), un indice de coloană. Subprogramul elimină coloana de indicekdina;cifreImpare, cu un singur parametrux, număr natural cu cel mult 6 cifre. Returnează1dacă toate cifrele luixsunt impare, altfel0.
a. Scrieți definiția completă a subprogramului elimColoana.
b. Scrieți definiția completă a subprogramului cifreImpare.
c. Scrieți un program care citește n și tabloul din atestat.in și, folosind apeluri utile ale celor două subprograme, elimină coloana care are proprietatea că numărul de elemente formate doar din cifre impare este egal cu indicele coloanei (dacă pe coloana k există k astfel de numere, coloana se elimină). Dacă mai multe coloane au proprietatea, se elimină doar cea cu indicele cel mai mic. Matricea obținută se scrie în atestat.out, câte o linie a tabloului pe linie. Dacă nicio coloană nu se elimină, se scrie mesajul matrice nemodificata.
Exemple
atestat.in |
atestat.out |
Explicații |
|---|---|---|
412345 57 2 39561 8 379 51157 9 32 199595 3410 69 11 |
12345 2 39561 379 51157 32 199595 69 11 |
Coloana 1 are 2 elemente cu toate cifrele impare (1157, 595), deci nu se șterge; coloana 2 are 2 (57, 9), deci se șterge |
Rezolvare
Exersează mai departe