/POO-Set

Programare Orientată pe Obiecte (POO) - Tema 1 Set (Mulțime)

Primary LanguageC++

Set (mulțime)

Implementați clasa Set (mulțime) care să ofere următoarele funcționalități:

  • Fiecare element să apară o singură dată (operația care va realiza această funcționalitate va fi implementată cât mai eficient).

  • Inserarea, ștergerea și căutarea unui element.

  • Supraîncărcarea operatorului [] pentru accesarea elementului de pe poziția i.

  • Supraîncărcarea operatorului + care să efectueze reuniunea a două mulțimi (fără duplicate).

  • Supraîncărcarea operatorilor < și > care să compare cardinalul a două mulțimi.

  • Supraîncărcarea operatorului * pentru înmulțirea cu un scalar.

  • Obținerea sumei elementelor din mulțime.

  • Obținerea elementelor pare, respectiv impare din mulțime (sub formă de Set).

  • Obținerea numărului de elemente din mulțime.

Cerințe globale:

Următoarele cerințe sunt valabile pentru toate proiectele:

  • Comentarii ı̂n cod care să ofere detalii despre modul de implementare.

  • Indentarea și spațierea adecvată a codului.

  • Utilizarea unei convenții de denumire a variabilelor și a metodelor.

  • Separarea declarației de implementare a clasei/claselor. Declararea se va face ı̂n .h (header) și implementare ı̂n .cpp.

  • Supraı̂ncărcarea operatorilor de citire și afișare (<< și >>).

  • Implementatea constructorilor cu parametri, fără parametri, de copiere și supraı̂ncărcarea operatorului =.

  • Implementarea destructorului.

  • Alocarea dinamică a memoriei.

Alte observații:

  • Funcțonalitățile implementate vor fi testate folosing assert.

  • Fiecare clasă va suporta număr arbitrar de intrări (pentru cele ı̂n care se pot adauga elemente).

  • Pentru punctajul maxim implementările trebuie să fie cât mai eficiente din punct de vedere timp și spațiu.

  • Folosirea operatorilor << și >> ı̂n cod, cu excepția supraı̂ncărcarii operatorilor de citire și afișare, nu este permisă.

  • Folisirea utilităților oferite de STL nu este permisă.

  • În cazul parcurgerilor rezultatul ı̂ntors va fi un array care conține elementele ı̂n ordinea de parcurgere (e.g. primul element parcurs pe prima poziție ı̂n vector, al doilea element pe a doua poziție ı̂n vector ș.a.m.d).

  • Fiecare clasă trebuie sa includă doar funcționalitățile enumerate ı̂n cerințe. Dacă se consideră necesare alte metode acestea trebuie să fie declarate ca private.

POO-Set

Programare Orientată pe Obiecte (POO) - Tema 1 Set (Mulțime)

DEADLINE

22 martie 2020, ora 12:00 24 martie 2020, ora 12:00 24 martie 2020, ora 00:00