Проблем с условието и тестовете на задача 05. * Note Statistics, Lists - More Exercises, Progr-Fund-Extended-Exercises
линк към Judge: https://judge.softuni.bg/Contests/Practice/Index/425#4
линк към условието: https://softuni.bg/trainings/resources/officedocument/12767/exercise-problem-descriptions-programming-fundamentals-exended-january-2017
линк към моето решение: https://pastebin.com/PgCFhc1y
Какви са проблемите?
Според мен те са няколко. На първо място, в самото условие има зададено "print it on the console, rounded to the second decimal place.", а точно втория пример, който е даден "Sharps sum: 0". При оформяне f2, този резултат трябва да е 0.00.
Второто нещо, на което се натъкнах. Погледнете моето решение - директно си вкарах всички naturals и frequencies в един списък като стрингове, но със стойностите, зададни по условие от задачата (например G -> 392.00) не ми излизат тестовете в джъджа, въпреки, че логиката ми е правилна. Налага се да се изтрият всички нули след десетичната запетая, 415,30 да стане 415,3, 440,00 да стане 440,0 и т.н., което е грешен въведен инпут в самото условие на задачата, с което да се сравняват въведените числа... Или инпут числата трябва да се направят като дадените по условия честоти?
Според мен е необходимо да се направи някоя друга промяна в тази задача, не толкова генерално, защото задачата е добра и като търсих в нета намерих още 2-3 решения (тотално различни от моето), по-скоро леко оформителни щрихи.
относно закръглянето - може и без него(понеже никоя от честотите няма повече от 2 знака след десетичната точка следователно и резултатът нчма да има повече от 2 знака, а по default дори и реалните числа ако са 0 или 0.00 отпечатва просто нула - пробвай)
относно твоето решение - хареса ми че сръвняваш стрингове но все пак има значение при сръвнението например:
--- ако са double - 123.00 & 123.0 - няма значение все си е 123, имат еднаква стойност
--- но ако са стрингове "123.00" & "123.0" - има значение защото единият е по - дълъг, т.е. не са еднакви
ето - просто ти пастнах всички възможни честоти които могат да са с 1 или 2 знака след десетичната точка, махнах и форматирането - 100/100
Благодаря!