GithubHelp home page GithubHelp logo

poo-set's Introduction

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

poo-set's People

Contributors

titratcristina avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.