#561 · Subiectul II · Programare
Toate secvențele care încep și se termină cu valoarea k (subprogramul secv_tablou)
✓ Rezolvare explicatăBucurești 2020 · nr. 14
Enunț
a) Subprogramul secv_tablou are patru parametri, prin care primește: n, un număr natural din intervalul [5, 100]; v, un tablou unidimensional cu cel mult n numere naturale din intervalul [1, 10³]; a și b, câte un număr natural din intervalul [1, n] (a < b). Subprogramul afișează pe ecran, separate prin câte un spațiu, elementele din tablou care se află între pozițiile a și b. Pozițiile elementelor în tablou sunt numerotate de la 1. Scrieți la calculator definiția completă a subprogramului.
Exemplu: pentru n=7, tabloul v=(5, 1, 3, 8, 7, 2, 3), a=2, b=5, se afișează 1 3 8 7.
b) O secvență dintr-un șir de valori este numită secventa_k dacă începe și se termină cu aceeași valoare k și conține această valoare de cel puțin două ori. Exemplu: 3, 8, 7, 2, 3 este secventa_k a tabloului (5, 1, 3, 8, 7, 2, 3).
Fișierul secventa_k.in conține pe prima linie un număr natural nenul n (n ≤ 100), iar pe linia a doua n numere naturale din intervalul [1, 10³], separate prin câte un spațiu. Se cere scrierea și executarea la calculator a unui program care să citească de la tastatură o valoare k (1 ≤ k ≤ 10³), apoi din fișierul secventa_k.in valoarea lui n și cele n valori de pe a doua linie a fișierului și care să afișeze, pe rânduri distincte, toate secvențele de forma secventa_k. Numerele din secvență se afișează separate prin câte un spațiu. Pentru afișarea secvențelor cerute se folosesc apeluri utile ale subprogramului secv_tablou. Dacă nu există nicio secvență de forma secventa_k, atunci pe ecran se afișează mesajul imposibil.
Exemple
| Date de intrare | Date de ieșire (nu neapărat în această ordine) |
|---|---|
secventa_k.in:103 5 1 5 2 3 5 2 5 1tastatură: 5 |
5 1 55 1 5 2 3 55 1 5 2 3 5 2 55 2 3 55 2 3 5 2 55 2 5 |
Rezolvare
Exersează mai departe