Parcare eficientă

23 Nov

Avem de administrat eficient o parcare de mașini cu n locuri. Fiecare loc de parcare poate fi liber (0) sau ocupat cu o mașină (1). Vom considera un șir de n biți pentru a gestiona toate locurile din parcare, adică k = [n/8]+1 octeți care se vor memora printr-un tablou de k elemente de tip byte (definit ca unsigned char). Să se implementeze funcțiile:

Încearcă să parcheze o mașină în poziția pos. Dacă locul de parcare este liber, îl marchează cu 1 și întoarce valoarea 1, dacă locul de parcare nu este liber, nu marchează locul și întoarce 0.

Parchează mașina pe primul loc liber din parcare. Întoarce poziția pe care a fost parcată mașina (un număr între 1 și n). Dacă nu s-a găsit loc liber, se returnează -1.

Eliberează locul de parcare din poziția pos; întoarce 1 dacă locul era ocupat și a fost eliberat; întoarce -1 dacă locul era liber.

Numără câte mașini sunt parcate.

Să se scrie o funcție main care primește un număr n, inițializează o parcare goală, apoi primește p comenzi de forma (cod operație, parametru):

și care afișează pe ecran rezultatul fiecărei operații, iar la final numărul de locuri libere din parcare.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.