Dictionaries - 11. Dragon Army
Здравейте,
Реших я задачaта, но ми дава 80/100. Пробвах всякакви гранични случаи и всякакви мазаници и винаги резултата е коректен. Ако някой може да помогне ще е супер :).
Здравейте,
Реших я задачaта, но ми дава 80/100. Пробвах всякакви гранични случаи и всякакви мазаници и винаги резултата е коректен. Ако някой може да помогне ще е супер :).
Ето едно примерно решение: https://pastebin.com/FtLxw61h. Дава ми 100/100 :)
Едно решение и от мен.
Здравей. Изпращам ти и моето решение https://pastebin.com/4wfpw4dv
Решение Dragon Army с класове. в youtube.
Здравейте, макар че темата е стара, задачата е актуална и днес.
Това беше единствената задача, която не успях да реша във Фундаментал (в момента само част от ООП се засяга в курса) и дори изобщо не повярвах, че само със знанията си до този момент ще успея да реша задачата.
В крайна сметка установих, че е напълно възможно за студент от Фундаментал да се справи със задачата и дори e лесно, ако се използва LINQ.
Споделям решението си за насърчение на колегите, които подобно на мен първоначално ги е стреснала тази задача- https://pastebin.com/Lee8JkBb
От ООП използвам само засегнатото във Фундаментал- създаване на клас Dragon с пет пропъртита- Type, Name, Damage, Health, Armor. Отделно имам допълни четири метода: един за създаването на нов Dragon- private static Dragon CreateNewDragon(string type, string name, string damage, string health, string armor), като в него имам проверки, ако ми се подаде "Null" на каква стойност трябва да сетнем; другите три метода са CalculateAverageArmor , CalculateAverageHealth и CalculateAverageDamage, като предварително за всеки един проверявам дали Sum() > 0 преди да изчисля Average(). Всички дракони ги пазя в- var dictTypeDragons = new Dictionary<string, List<Dragon>>(); и общо взето е това.
Повече от убедена съм, че решението ми далеч не е от най-добрите, но показва как може да се реши задачата със знания само от Фундаментал и все още бегло познаване на ООП. И разбира се от решението се вижда колко мощна е LINQ, и съм много благодарна и щастлива, че присъства в нашия език. След ООП отново ще се върна на тази задачата за оптимизация.
Защо трябва да проверяваш стойностите дали sum()>0,преди да намериш averige()?
Ето според мен доста по леко решение с fundamentals:
https://pastebin.com/ecDcBX1M
тоя клас grouped dragon e overkill за един лист..и с него и без него пак може да се направи ама за 1 лист да се инициализира цял клас...
Здравей, мерси за линк към решението. Аз вече съм я решил за 100/100 само с вложени речници.
В момента се опитвам по малко "по-културен" начин да я реша отново, само с класове. Та ако някой има идея, мерси предпварително :).
Може ли да видим твоето решение? Иначе идеята на класа е да опростява задачата.