Un șablon este un șir de numere întregi, în care termenii strict negativi sunt numiți termeni generici.
Un computer generează un șir pe baza unui astfel de șablon, prin înlocuirea fiecărui termen generic al șablonului cu unul dintre numerele cu aceeași cifră a unităților, preluat dintr-o listă dată de numere naturale.
Exemplu: termenul generic -20 se poate înlocui cu 0 sau cu 50, dacă lista este (24,2,0,36,201,50).
Cerința
10 puncte
Scrieți un program C/C++ care citește de la tastatură un număr natural, nL (nL∈[1,100]), și cele nL elemente ale unui tablou unidimensional L, apoi un număr natural, nS (nS∈[1,100]), și cele nS elemente ale unui tablou unidimensional S. Tabloul L reprezintă o listă de tipul precizat mai sus și elementele sale sunt numere naturale din intervalul [0,10³], iar tabloul S reprezintă un șablon de tipul precizat mai sus și elementele sale sunt numere întregi din intervalul [−10⁹,10⁹]. Programul transformă în memorie tabloul corespunzător șablonului, astfel încât acesta să memoreze unul dintre șirurile care pot fi generate de computer pe baza acestui șablon și a listei date și apoi afișează pe ecran, separate prin câte un spațiu, elementele tabloului obținut sau mesajul imposibil dacă nu se poate genera un astfel de șir.
Exemplu: dacă nL=7, lista este L=(24,2,0,36,21,104,50), iar nS=8
pentru șablonul S=(-16,0,3,-452,-10,-974,10,-20)
se generează șirul (36,0,3,2,0,24,10,0)
sau șirul (36,0,3,2,0,104,10,50)
etc., iar pentru șablonul S=(-17,0,3,-452,-10,-975,10,-20)
se afișează mesajul imposibil. (10p.)
Arată baremul
2. Pentru program corect - 10p.
- declarare a unor variabile care să permită memorarea unei liste de numere și a unui șablon, conform cerinței - 1p.
- citire a datelor, conform cerinței - 1p.
- determinare a unui șir conform cerinței (*) - 6p.
- afișare a datelor și tratare a cazului imposibil - 1p.
- declarare a variabilelor simple, corectitudine globală a programului¹⁾ - 1p.
(*) Se acordă câte 1p. pentru fiecare aspect (termeni suport analizați în șablon, identificare a unui termen generic, algoritm de bază de căutare, identificare în listă a unui număr adecvat pe baza cifra unităților unui număr negativ, înlocuire în memorie a unui termen într-un șir, termeni suport înlocuiți/păstrați) conform cerinței.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.