Loading...
sevdalin avatar sevdalin 38 Точки

[C# OOP Basics] 06. **Football Team Generator

Здравейте,

някой може да удари едно рамо за тази задача. Не знам какво не правя като хората. Всичките валидации си правя, ако нямам Team, ако нямам Player, и т.н., но ми дава 16/100, което е плачевно. Някъде нещо голямо куца, но не намирам нищо. Дори я направих, да работи с много Team-ове, защото в примерните тестове се подава само 1 Team  в началото, ама аз не съм сигурен, че ще бъде така и в тестовете.

 

Постарах се доста, направих си енкапсулацията правилно. Проблема, който срещнах беше с един field "rating" в Class FootballTeam, който не успях да напиша така, че да не го включвам в конструктора, ами да си определя стойността използвайки метод, всеки път щом поискам get на полето. Правеше ми една грешка, която не успях да оправя и за това кода е закоментиран и ползвам директно метода от класа.

 

Тук може да видите условието на задачата: https://judge.softuni.bg/Contests/Practice/Index/232#0

Тук е кода ми, събран в един Pastebin

 

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

 

Тагове:
0
C# OOP Basics 06/06/2017 11:14:20
gogo4ds avatar gogo4ds 1 Точки

Ще нахвърлям няколко грешки които виждам на пръв поглед.

1. Не трябва с Math.Ceiling да смяташ Average, защото той не ти връща най-близкия integer, пробвай с Math.Round или си ги смятай с double и чак накрая като принтираш рейтинга му дай формат {Rating:F0}

2.Първия път ако ти се подаде празно име на отбор, никъде не хващаш грешката

3.Ако във FindFootballTeamIndex не намери индекс и ти върне -1? Ти  после директно казваш footballTeams[footballTeamIndex].AddPlayer(player); Нищо не пречи да ти кажат да добавиш играч в отбор, който го няма..

и за протокола само - няма значение дали има празно място след края на изречението, judge Trim-ва реда. Също така string.IsNullOrWhiteSpace() e подобрена версия на string.IsNullOrEmpty() и хваща същите неща + само space-ове, така че няма нужда и него да пишеш

0
AsenVolev avatar AsenVolev 8 Точки

Не става това с rating:F0 аз също съм забил жестоко на тази задача и ми дава 80 вместо 81 пробвах и със ceiling, и с Мath.Round(double, MidPointRounding.AwayFromZero) и все и пак неще ....

0
gadjov avatar gadjov 115 Точки

Ето го моето пропърти Рейт

public double Rating
        {
            get => this._rating;
            set
            {
                var average = (this.Players.Sum(p => p.Dribble) + 
                this.Players.Sum(p => p.Endurance) +
                this.Players.Sum(p => p.Passing) + 
                this.Players.Sum(p => p.Shooting) +
                this.Players.Sum(p => p.Sprint)) / 5.0;

                this._rating = Math.Round(average);
            }
        }

 

0
06/07/2017 01:42:00
Savas avatar Savas 38 Точки

Здравейте,
същата задача но с номер 5 (към 2020г) --> немога да ъплодна коректно в джъджа?!? 
Ето какво ми казва judge-то
 

Could not execute because the specified command or file was not found.
Possible reasons for this include:
  * You misspelled a built-in dotnet command.
  * You intended to execute a .NET Core program, but dotnet-C:/Windows/TEMP/ExecutionStrategies/4lur2p0f.gv5/CompilationDir/Football does not exist.
  * You intended to run a global tool, but a dotnet-prefixed executable with this name could not be found on the PATH.

 

На практика не правя нищо по-различно от нормалното, когато се джъджва (не ми е първа задача, която да джъджвам) - къде е проблема?

 

Предварително благодаря.

 

-------------------------------------------

 

ОТГОВОРА Е: Progect името да е без интревали  !!!

 

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