Un număr natural a, divizibil cu 10, se numește 10-prieten al unui număr natural b dacă a<b, iar în intervalul (a,b] nu există niciun număr divizibil cu 10.
Exemplu: 20 este 10-prieten al numerelor 21, 22 și 29, dar nu este 10-prieten al numerelor 31 și 9.
Un elev vrea să transmită unui prieten un șir de numere naturale, codificate. Cel puțin unul dintre numere NU este divizibil cu 10. Codificarea se face prin înlocuirea fiecărui număr care nu este divizibil cu 10 cu 10-prietenul său, ca în exemplu.
Identificatorii utilizați în rezolvări trebuie să respecte precizările din enunț (bold), iar în lipsa unor precizări explicite, notațiile trebuie să corespundă cu semnificațiile asociate acestora (eventual în formă prescurtată). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
Cerința
10 puncte
Scrieți un program C/C++ care citește de la tastatură un număr natural, n (n∈[2,10²]), și cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,99], reprezentând șirul de tipul precizat și determină, în memorie, forma codificată a acestuia. Programul afișează pe ecran elementele șirului codificat obținut, separate prin câte un spațiu.
Exemplu: dacă n=7, iar șirul care corespunde tabloului este (21, 70, 16, 7, 9, 50, 19) se obține șirul codificat prin tabloul (20, 70, 10, 0, 0, 50, 10). (10p.)
Arată baremul
Pentru program corect - 10p.
-declarare a unei variabile care să memoreze un tablou unidimensional - 1p.
-citire a datelor - 1p.
-determinare a tabloului conform formei codificate (*) - 6p.
-afișare a datelor - 1p.
-declarare a variabilelor de tip simplu, corectitudine globală a programului¹⁾ - 1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific (acces la un element al unui tablou, identificare a unui număr divizibil/care nu este divizibil cu 10, algoritm de bază pentru determinarea primei valori cu o anumită proprietate dintr-o serie/a unui număr 10-prieten, înlocuire a unui element într-un tablou, elemente suport înlocuite/păstrate, transformare în memorie) conform cerinței.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.