Loading...

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

Elena123456 avatar Elena123456 235 Точки

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