This shows you the differences between two versions of the page.
sd-ca:teme:teme-01 [2015/03/23 17:41] daniel.ciocirlan1607 [MyVector] |
sd-ca:teme:teme-01 [2015/04/01 18:34] (current) andrei.vasiliu2211 [Teste publice] |
||
---|---|---|---|
Line 15: | Line 15: | ||
* **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, specificat format de output | * **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; se va considera că la list1 se adaugă fiecare element din list2; operanzii nu vor fi modificați | + | * 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 | * 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 | ||
Line 87: | 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}} |