[HomeWork] Структури от данни - Linear Data Structures – Stacks and Queues
Здравейте,
отварям тази тема да си проверим домашните и да обсъдим грешките по тях ако има такива.
Ето го моето домашно.
Поздрави!
Здравейте,
отварям тази тема да си проверим домашните и да обсъдим грешките по тях ако има такива.
Ето го моето домашно.
Поздрави!
Бих искал да отправя предложение към лекторите. Ако има вариант и разбира се време - мисля, че би било добра идея да имаме готови Unit Tests от вас за имплементациите, които трябва да правим за домашно, за да можем да сверяваме по нещо дали сме ги написали правилно. Понеже в момента не можем да сме сигурни и че тестовете ни са написани правилно, за да знаем дали имплементациите ни са правилни.
Реших да добавя и моя вариант на 9-та задача, тъй като мисля, че е малко по-оптимален. Използвам Stack<> като добавям операциите, които се извършват. Започвайки от последното число извършвам операции от x2 надолу до +1 и +2.
Току-що пробвах програмата ти с 10 31 и изписа "31 15 13 11 10".
Стрелките ги остави, може и без тях. Да кажем, че и редът не е от значение.
От 31 към 15 обаче виждам проблем. Ако числото е нечетно, при деление на 2 губиш една операция заради целочисленото делене. Провери дали е нечетно, махни 1 и тогава продължи.
Благодаря! Оправих го този бъг. Не бях тествал толкова обстойно.
ToArray() трябва да връща deep copy of objects или не? Гледам, че .NET Stack<T> не връща deep copy.
Здравейте колеги, ето го и моето домашно. Ще се радвам на feedback :)
Здравейте, имам проблем на 4та задача с unit tests, когате се опитвам да използвам namespace-а на 3та и ми излиза тази грешка. Таргет фреймуорка е еднакъв на проектите, каква е причината ? 2 отделни проекта в един solution са.
Здрасти, на тест проекта имаш References "дясна мишка" върху References -> Add Reference... след това ти излиза един прозорец, на който от ляво имаш Solution -> Projects и от проектите слагаш отметка на '_3_Array_Based_Stack' и трябва да работи. Когато един проект използва класове от друг проект, трябва да има референция към него, а не само "using { name of namespace }"
в случая нямаш reference
Аз доколкото знам на изпита едната задача ще е точно имплементиране на структура от данни, а там със сигурност няма да има готови unit тестове. Аз лично при писането на unit тестовете успях да си хвана 2-3 пропуска, както и грешка в условието. Хубавото е, че имплементираме вече говоти структури от данни в C#, така че винаги може да проверим дали методите ни работят коректно.
И ти имаш право със сигурност - от една страна трябва и да се научим да си тестваме имлементациите, от друга страна трябва да сме подготвени за изпита по този начин. Но пък ако не ги провериш с базовите написани, няма да можеш да си сигурен, докато някой по-опитен не ти го провери или при оценяванията на домашните. А според мен за изпита би било добре да си ги имаме правилни, за да може ако някъде зациклим да видим нещо от тях и да не се простреляме в крака с грешен код.
Може би няма комплексно решение по този въпрос и съм съгласен, че по-добрият вариант е сами да си правим нещата, за да минем през всичко, вкл. грешки, тестове...
Тестовете са толкова подробно описани в условията, че не виждам какъв проблем може да има да се напишат като код. Освен това готови тестове има в задачите за упражнения, от които може да се види как се правят. А специално от тази тема тестовете за всичките три имплементации са почти идентични. Само сменяш структурата от данни и при опашките заменяш Push с Enqueuе и Pop с Dequeue. А при ToArray тестовете променяш и последователността на елементите.