O grădină este împărțită în parcele pătrate identice, dispuse succesiv, pe un rând. O parcelă conține același tip de plante (doar flori sau doar gazon) și oricare două parcele alăturate conțin tipuri diferite de plante, pe prima parcelă fiind gazon. Pentru fiecare parcelă se memorează înălțimea acesteia, egală cu înălțimea medie a plantelor conținute, exprimată în decimetri. Pentru a pune în valoare florile, orice parcelă cu flori trebuie să fie mai înaltă cu cel puțin un decimetru decât parcela cu gazon vecină anterioară. S-a hotărât tunderea parcelelor cu gazon prea înalte, astfel încât ele să fie aduse la înălțimea maximă permisă.
Cerința
10 puncte
Scrieți un program C/C++ care citește de la tastatură un număr natural din intervalul [2,10²], n, apoi cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [2,10], reprezentând înălțimile parcelelor, în ordinea dispunerii acestora în grădină. Programul modifică apoi tabloul în memorie corespunzător situației terenului după tunderea gazonului și afișează pe ecran tabloul obținut, cu elementele separate prin câte un spațiu.
Exemplu:
pentru n=6 și tabloul
6 2 3 7 9 4
se obține tabloul
1 2 3 7 3 4
(10p.)
Pagina din subiectul oficial.Arată baremul
SUBIECTUL al III-lea, 2. Pentru program corect - 10p.
-declarare a unei variabile care să permită memorarea unui tablou unidimensional - 1p.
-citire a datelor - 1p.
-modificare a tabloului conform cerinței (*) - 6p.
-afișare a datelor în formatul cerut - 1p.
-declarare a variabilelor de tipuri simple, corectitudine globală a programului¹⁾ - 1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific (identificare a unei parcele cu flori/gazon, identificare a unei parcele cu gazon vecină anterioară unei parcele cu flori, înălțimi suport păstrate/actualizate pe parcele cu gazon) conform cerinței.
¹⁾ Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.