This shows you the differences between two versions of the page.
sd-ca:teme:teme-01 [2015/03/22 18:46] daniel.ciocirlan1607 [Modificări și actualizări] |
sd-ca:teme:teme-01 [2015/04/01 18:34] (current) andrei.vasiliu2211 [Teste publice] |
||
---|---|---|---|
Line 14: | Line 14: | ||
==== Modificări și actualizări ==== | ==== Modificări și actualizări ==== | ||
* **20 martie** modificare check_pc.sh din arhivă | * **20 martie** modificare check_pc.sh din arhivă | ||
- | * **22 martie** pus fișierele de referință în arhiva de testare | + | * **22 martie** pus fișierele de referință în arhiva de testare, specificat format de output |
+ | * **23 martie** detalii pentru operatorul de concatenare | ||
===== Obiective ===== | ===== Obiective ===== | ||
Line 40: | Line 41: | ||
* dacă, prin ștergere de elemente se ajunge ca numărul de elemente actual să fie jumătate - 1 din dimensiunea actuală, aceasta se reduce la jumătate | * dacă, prin ștergere de elemente se ajunge ca numărul de elemente actual să fie jumătate - 1 din dimensiunea actuală, aceasta se reduce la jumătate | ||
* să existe posibilitatea de a folosi semantica de index a vectorilor din C (să putem scrie v[index], cu v de tip MyVector și index de tip întreg, care să aibă sensul din C - se aleagă elementul de la index). Atenție, se dorește ca v[index] să se poată și scrie și citi, adică să putem scrie v[index] = ceva | * să existe posibilitatea de a folosi semantica de index a vectorilor din C (să putem scrie v[index], cu v de tip MyVector și index de tip întreg, care să aibă sensul din C - se aleagă elementul de la index). Atenție, se dorește ca v[index] să se poată și scrie și citi, adică să putem scrie v[index] = ceva | ||
- | * să existe posibilitatea de a putea scrie new_list = list1 + list2, cu new_list, list1 și list2 de tip MyVector. new_list va reprezenta concatenarea dintre list1 și list2 | + | * să existe posibilitatea de a putea scrie new_list = list1 + list2, cu new_list, list1 și list2 de tip MyVector. new_list va reprezenta concatenarea dintre list1 și list2; se va considera că rezultatul este list1 la care se adaugă fiecare element din list2; operanzii nu vor fi modificați |
* să implementeze 2 metode, begin și end, care să întoarcă un iterator de tip MyIterator care pointează spre primul element (begin), respectiv după ultimul element (end) al vectorului. Practic, end pointează **după** ultimul element din vector, deci nu ar trebui dereferențiat | * să implementeze 2 metode, begin și end, care să întoarcă un iterator de tip MyIterator care pointează spre primul element (begin), respectiv după ultimul element (end) al vectorului. Practic, end pointează **după** ultimul element din vector, deci nu ar trebui dereferențiat | ||
+ | * să poată fi afișată de către un stream de output (e.g. std::cout); formatul de ieșire este simplu: toate elementele structurii, separate prin spațiu | ||
==== MyIterator ==== | ==== MyIterator ==== | ||
Line 86: | Line 88: | ||
==== Teste publice ==== | ==== Teste publice ==== | ||
- | Aveți la dispoziție o arhivă ce conține o suită de teste publice (singurele cu care va fi testată tema), reprezentate prin niște fișiere .cpp, și un Makefile care va încerca compilarea fiecărui fișier din teste. | + | Aveți la dispoziție o arhivă ce conține o suită de teste publice, reprezentate prin niște fișiere .cpp, și un Makefile care va încerca compilarea fiecărui fișier din teste. |
{{:sd-ca:teme:tests.zip|Arhiva de testare}} | {{:sd-ca:teme:tests.zip|Arhiva de testare}} |