Професионална програма
Loading...
+ Нов въпрос
TeodorStefanovPld avatar TeodorStefanovPld 1275 Точки

тоя клас grouped dragon e overkill за един лист..и с него и без него пак може да се направи ама за 1 лист да се инициализира цял клас...

0
ghostd0g avatar ghostd0g 26 Точки

Здравей, мерси за линк към решението. Аз вече съм я решил за 100/100 само с вложени речници.

В момента се опитвам по малко "по-културен" начин да я реша отново, само с класове. Та ако някой има идея, мерси предпварително :).

1
ZeynebDzhelil avatar ZeynebDzhelil 27 Точки

Може ли да видим твоето решение?  Иначе идеята на класа е да опростява задачата. 

0
Elena123456 avatar Elena123456 224 Точки

Здравейте, макар че темата е стара, задачата е актуална и днес. smiley

Това беше единствената задача, която не успях да реша във Фундаментал (в момента само част от ООП се засяга в курса) и дори изобщо не повярвах, че само със знанията си до този момент ще успея да реша задачата.

В крайна сметка установих, че е напълно възможно за студент от Фундаментал да се справи със задачата и дори 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, и съм много благодарна и щастлива, че присъства в нашия език. След ООП отново ще се върна на тази задачата за оптимизация.

0
aboqnskiq1 avatar aboqnskiq1 1 Точки

Защо трябва да проверяваш стойностите дали sum()>0,преди да намериш averige()?

Ето според мен доста по леко решение с fundamentals:

https://pastebin.com/ecDcBX1M

0
30/06/2021 17:19:43