2. naloga

Semafor


Na nekatere semaforje so v zadnjih letih namestili dodatne prikazovalnike, ki prikazujejo čas v sekundah do vklopa zelene luči. Ker želimo čas čakanja izkoristiti za kaj koristnega, smo v avto vgradili inteligentno kamero, ki prepozna številko na prikazovalniku.

Predpostavi, da je za dostop do kamere na voljo funkcija BeriStevec(), ki počaka, da se stanje prikazovalnika spremeni, in poskuša prepoznati številko, ki je po novem prikazana na prikazovalniku. Žal pa se je pri uporabi pokazalo, da kamera pri prepoznavanju ni vedno najbolj natančna (sonce, megla, kót snemanja), zato funkcija BeriStevec ne vrne nujno ene same številke, ampak eno ali več možnih številk, ki jih je kamera prepoznala. Vse te številke so z območja od 0 do 99; prava številka je zagotovo med njimi. Ko prikazovalnik kaže številko 0, vrne tudi BeriStevec le številko 0 in nobene druge. Funkcija BeriStevec je takšne oblike:


vector<int> BeriStevec();          // v C++
public static int[ ] BeriStevec(); // v javi ali C#
def BeriStevec() > list[int]: ...  # v pythonu

int stevilke[100];  /* v C/C++: funkcija BeriStevec shrani prepoznane številke v globalno */
int BeriStevec();   /* tabelo „stevilke“, kot vrednost funkcije pa vrne število teh številk. */

var stevilke: array [1..100] of integer; { v pascalu; deluje enako } function BeriStevec: integer;            { kot tista v C/C++ }

Napiši program, ki s čim manj zaporednimi klici funkcije BeriStevec ugotovi, katera številka je trenutno na prikazovalniku, in jo izpiše.

Primer: spodnja tabela kaže možen potek dogajanja pri več zaporednih klicih. V prvem stolpcu je prava številka s prikazovalnika, v drugem pa je seznam številk, ki bi ga utegnila vrniti funkcija BeriStevec.

Prikazana številka Ob klicu BeriStevec vrne
53 [59, 93, 53, 99]
52 [52, 92, 56, 96]
51 [51, 57, 97]
50 [90, 50, 58, 98]
49 [43, 79, 45, 48, 49]

Po klicih v prikazanem primeru bi se že dalo z gotovostjo zaključiti, da je številka na prikazovalniku res 49 in ne kakšna druga. Tvoj program mora torej takrat izpisati 49.