Cerința
8 puncteScrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)
Arată baremul
b. Pentru program corect - 8p. - operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier - 1p. - determinare a valorii, conform cerinței (*),(**) - 5p. - utilizare a unui algoritm eficient, conform cerinței (***) - 1p. - declarare a variabilelor, afișare a datelor conform cerinței, 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 (de complexitate O(n)), care utilizează eficient memoria.
O soluție posibilă citește datele din fișier și, pe măsura parcurgerii lor determină cifra maximă întâlnită (cifMax), și primul număr dintre cele citite care conțin această cifră (p). Pentru fiecare număr citit x se determină cifra maximă, cm (maximul dintre x%10 și [x/10]) și, dacă cm>cifMax se actualizează cifMax și p (cifMax←cm, p←x). După parcurgerea tuturor numerelor, se afișează p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.