- Zadanie 1 - kontynuacja poprzedniego zadania 3 -
grayscaleImages
(6 punktów) - Zadanie 2 -
insensitivePalindrom
(6 punktów) - Zadanie 3 -
transformContainers
(6 punktów)
PR zgłaszajcie również na gałąź master
w repo coders-school/stl
, ale dodajcie obowiązkowo w tytule STL#2
. U was gałąź może być dowolna.
- 2 punkty za każde zadanie dostarczone przed 21.06.2020 (niedziela) do 23:59
- 3 punkty za pracę w grupie dla każdej osoby z grupy. Zalecamy grupy 3 osobowe (takie jak ostatnio)
- Przygotuj listę pytań na sesję Q&A :)
- Upewnij się, że działa Ci mikrofon i możesz rozmawiać na Discordzie
- Jeśli masz wątpliwości lub niedziałające implementacje i chcesz je skonsultować - podeślij link do repo na kanale #powtórka na Discordzie.
- Pytania możesz oznaczyć komentarzami w kodzie
- Pytania możesz też napisać w komentarzu do PR
- Dodatkowe pytania możesz też później zadać na żywo podczas omawiania kodu
Ulepsz program grayscaleImages
z poprzednich zajęć STL#1 (kompresja, dekompresja) obrazków, tak, aby zamiast pętli wykorzystać algorytmy. Działaj na swojej/waszej wersji implementacji tego zadania.
Nie znajdziesz w repo w module2/homework/grayscaleImages żadnego kodu. Pracuj na module1/homework/grayscaleImages. Jeśli nie chcesz nadpisać PR z tamtą pracą domową to po prostu utwórz nowego brancha od tego stanu (ale nie zapomnij żeby zmergować do niego coders/master
, aby mieć te obecne zadania). Jeśli to skomplikowane - po prostu skopiuj swój program grayscaleImages
do katalogu module2 ;)
Napisz program, który będzie sprawdzał, czy podany ciąg wyrazów jest palindromem. Program powinien ignorować znaki specjalne jak ,.?()[]
, wielkość liter oraz białe znaki jak spacja czy znak nowej linii.
Tutaj wywnioskuj po testach jak nazwać funkcję. Stwórz własne pliki źródłowe i nagłówkowe i dodaj je do CMakeLists.txt, aby się budowały. Szczegóły w README.md do tego zadania.
- Napisz funkcję
transformContainers
, która przyjmiestd::list<std::string>
orazstd::deque<int>
- Usunie duplikaty z obu kontenerów
- Na koniec skonwertuje to na
std::map<int, std::string>
i ją zwróci. Użyjstd::transform
.
Tutaj wywnioskuj po testach jak nazwać funkcję. Stwórz własne pliki źródłowe i nagłówkowe i dodaj je do CMakeLists.txt, aby się budowały. Szczegóły w README.md do tego zadania.
Sugestia jak zrobić brancha pod tę pracę domową:
git checkout homework1 # homework1 to nazwa twojego brancha z pracą domową z STL#1
git checkout -b homework2 # utwórz branch homework2 z obecnego stanu
git pull coders master # ściągnij i zintegruj zmiany z coders-school/master, aby mieć module2. Nie powinno być konfliktów
git push origin homework2 # wyślij nowego brancha na swojego forka
Teraz możesz zacząć pracę (najlepiej w grupie) na branchu homework2