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 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 care utilizează eficient memoria. O soluție posibilă parcurge datele din fișier memorând ultimele două valori citite (fie ele x, y), lungimea secvenței curente de valori egale (fie ea ny) și lungimea secvenței progresive curente (lgcrt); pentru fiecare pereche (x,y) pentru care x=y se incrementează ny; la finalul fiecărei secvențe de valori egale (x≠y), dacă ny=x se actualizează corespunzător lgcrt și, după caz, lungimea maximă cerută, iar altfel, dacă ny<x, se reinițializează lgcrt cu 0. Pentru ultima secvență de valori egale se actualizează datele la final. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.