Loading...
TeMePyT avatar TeMePyT 142 Точки

Dictionaries, Lambda and LINQ - Exercises-11. Dragon Army

Привет. Опитах да реша тази задача, https://judge.softuni.bg/Contests/Practice/Index/209#10, като опитах да я реша с клас. Резултатът беше това - https://pastebin.com/atMVmvpj. Гърми на 2 теста, и след 2 часа дебъгване честно казано идея си нямам защо. Приемам всякакви насоки. Благодаря предварително.

Тагове:
0
Programming Fundamentals
k.sevov avatar k.sevov 1077 Точки
Best Answer

Проблемът идва от това, че на 55-57 ред си пропуснал да добавиш също и типът да е равен, а не само имената (както правилно си го направил по-рано на 48-ми). Всичко друго си работи добре. Бих искал да добавя, че не съм съгласен с колегата, че кодът ти е ужасен. Да, има по-ефективни начини да се напише, но си използвал наличните си знания за да напишеш подреден, четим и разбираем код, което е чудесно. 

1
TeMePyT avatar TeMePyT 142 Точки

Само това не се бях сетил. 100/100, благодаря много. Ще се разровя сега да видя как да сетна default values в класа и да ползвам тях.

0
k.sevov avatar k.sevov 1077 Точки

С default values ще е малко кофти, че не е ясно коя позиция е пропусната и сигурно ще трябва да подаваш named parameters, но съм съгласен, че ще ти е полезно да го пробваш така. Другият вариант е да си правиш проверката още при четенето на входа, примерно нещо такова. Добавих и две възможности за ъпдейтването на стойностите, тъй като по твоя начин си обикаляш три пъти листа да търсиш обекта всеки път. 

1
TeMePyT avatar TeMePyT 142 Точки

Благодаря. Кой да се сети че може да си извадя обекта и да го манипулирам, вместо да ровя да го търся постоянно. Трябва да свикна.

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

колега позволи ми да не се съглася,значи тои прави 1000 заявки които сам знаеш отдолу представляват сортирания цикли и тн..и ако му е по кратко времето на задачата примерно и ще му изгърми всичко и колегата няма да се осъзнае посмъртно защо.

Второ тея try catch дори едно търсене в stackoverflow ще му подскаже по-лесна алтернатива.А и attitude-a му не искам да гледам чужд код а моя.. ще му изиграе лоша шега като се сблъгскат с winecraft примерно.

90% от коденето е научаването на нещо ново,като е видял че пише 3 try catch да се замисли че става много дълго че има и друг вариант.И като замества елемент в лист да го направи по културния начин с заместване.

Ако съм научил едно през годината от миналия март досега е че,като почнеш да пишеш много повтарящ се код,или си направи метод или се огледай за някаква алтернатива.

0
TeMePyT avatar TeMePyT 142 Точки

Първо-не съм казал, че не искам да чета чужд код. Прегледах кодове от стари теми из форума. Видях различни решения, къде с класове, къде с речници. Има даже едно решение, което е писано от човек, който определено много разбира, с методите му, с override на string и т.н. Рових се в google за неща, които не знам как да направя. Идеята ми беше да разбера защо моят код не работи. За try-catch съм съгласен, направи ми впечатление че стана дълго но го оставих така. Относно LinQ-то - лекциите, които гледам на Ален, той си казва човека-ще ги ползвате сега, а по-нататък ще спрете. Наясно съм че товарят. Но се иска да ги научим нали? Има си лекции за LinQ и ламбда функции. Има задачи с тях(вкл. и тази задача). Както казах дори не съм започнал тех модула(започва на 14-ти май). Не вярвам да се очаква от мен да пиша код по устав още от самото начало. Чета, уча, свиквам. Но всичко идва с опит, решаване на задачи и разбиране на нещата. Правя каквото мога с това което знам и каквото намеря от гугъл, И определено мога да разбера ако ми изгърми Judge за време, случвало ми се е вече. Оценявам мнението ти, но все пак не бъди прекалено строг. Наистина не знам много неща.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.