Task 4 Visitors от 09.01.2018 г.
Ето, моето решение за него judge ми дава 20/100 точки доста грешни тестове.https://pastebin.com/ZJ5qGhd5
Може ли някой (например: МартинБГ :) или Kolioi ,че само вие пишете във форума ), да ми обясни как да ползвам count от #include<algorithm>, за да заместя функцията, която аз съм написала. На мястото, на което искам да го ползвам има закоментиран count.
Може ли да ми кажете, къде греша.
вход:
entry 1A John 15
entry 1B Tony 16
entry 1A John 15
entry 1C John 86
name John
name Jebediah
entry 1A John 15
entry 1B Tony 16
entry 1A John 15
entry 1E Jebediah 87
entry 1D Mark 16
age 15 87
end
Да искам още да помисля!
Ето, аз добре си помислих, но сега вместо 20/100 имам 0/100 точки.Смених вектора с лист, а другите два временни вектора с опашка. Само,че като сравнявам за името и различните години нещо не правя, както трябва и вместо 2 отговора е 4. Сравнявам първия с последния и после трия първия в списъка. Може ли съвет? Ето го решението ми.
Да питам и struct има ли също конструктор и деструктор, аз и класа смених със struct?
Единствената разлика между class и struct в C++, е че класът по подразбиране е с private достъп, а struct - с public.
Следните два записа са еквивалентни по своето значчение:
printCountNameVisitors и printCountAgeVisitors в новото ти решение получават infoVisit (колекцията с посещенията) по референция и трият елементите от нея. Това не е правилно, защото при една и съща команда (напр. name John) изпълнена последователно два или повече пъти, ще получим различен резултат.
Няколко думи за избора на структури. По-важните неща, които се вземат предвид:
Не винаги може да се удовлетворят всички условия само с една колекция и често се налага да се търси баланс между използвана памет, бързодействие и - не на последно място - сложност на кода.
За постигане на оптимални резултати може да се наложи комбинирането на няколко структури, напр:
- list/vector - за запазване на последователността на въвеждане
- unordered_set/unordered_map - за уникални елементи и/или за бърза проверка дали даден елемент съществува
- set/map - за сортиране на уникални елементи по даден критерий, както и за бързо извличане на последователни елементи, които попадат в дадени граници
- multiset/multimap - като горните, но позволяват и повтарящи се елементи
- stack - ако искаме да достъпваме елементите в обратен ред (достъп до последния въведен елемент)
- queue - ако искаме да достъпваме елементите според реда на въвеждането им (достъп до най-старият елемент в колекцията)
- priority_queue - ако искаме достъп до елемента с най-висок приоритет по даден критерий
В контекста на задачата, имаме следните операции:
Какви структури, според теб, най-много биха подхождали за тези операции?