Cerința
8 puncteScrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)
Arată baremul
SUBIECTUL al III-lea, 3. b) Pentru program corect - 8p. -operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier - 1p. -determinare a valorii cerute (*),(**) - 5p. -utilizare a unui algoritm eficient (***) - 1p. -declarare a variabilelor, afișare a datelor, corectitudine globală a programului¹⁾ - 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul este principial corect, dar nu oferă rezultatul cerut pentru toate seturile de date de intrare. (***) Se acordă punctajul numai pentru un algoritm liniar. O soluție posibilă utilizează un vector de frecvență v în care vᵢ reprezintă numărul de valori din șirul A care au ultima cifră egală cu i (i∈[0,9]). Vectorul v se actualizează pe măsura parcurgerii celei de a doua linii a fișierului. Se determină numărul cerut nr pe măsura parcurgerii numerelor de pe a treia linie a fișierului: pentru fiecare număr curent y din șirul B se determină numărul i=y%10, apoi se adună la nr valoarea vᵢ. O altă soluție utilizează câte un vector de frecvență pentru fiecare șir, va și vb, cu aceeași semnificație ca mai sus. Vectorii se completează pe măsura citirii fiecărui șir, iar numărul cerut se obține la final, prin parcurgerea simultană a celor doi vectori, adunând, pentru fiecare i∈[0,9], produsele vbᵢ·vaᵢ. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.