Здравей,
според мен проблемът е , ча имаш на повече от едно място <= или >=. Пример когато са 500 влизат и в едното и в другото условие, респективно се променя и комисионната. Просто трябва по условия да провериш когато то подадат 500 или 1000 къде трябва да ти е комисионната .
В 99.99% от случаите, когато някой задава такъв въпрос, грешката не е в Judge.
Здравей,
Включваш граничните стойности по два пъти
Ето тук например:
if (0 <= sales && sales <= 500)
{
commission = 0.05;
}
else if (500 <= sales && sales <= 1000)
{
commission = 0.07;
}
трябва да махнеш от втория if = 500 трябва да стане
if (0 <= sales && sales <= 500)
{
commission = 0.05;
}
else if (500 < sales && sales <= 1000)
{
commission = 0.07;
}
Съответно и за другите по същият начин.
Махнах го навсякъде и резултата е същия:
Градовете трябва да са с 1-ва главна буква.
23,/42,/61, else if (500 <= sales && sales <= 1000)
отговаря ли на
500 < s ≤ 1 000 (от условието)
При
else if (1000 <= sales && sales <= 10000)
е същото.
Тук
31,/50,/69, else if (sales >= 10000) (и тук има подобна грешка като по-горе)
няма нужда от "if (sales >= 10000)", защото това е единствената възможност която остава.
Judge очаква при 9999.9999 например за "varna" резултата да е 1000 а според мен би трябвало да е 1200?
Здравей,
Решението ти е вярно, но си разменил стойностите на комисионните за Варна и Пловдив.
Освен това за две от стойностите за Пловив - 5.5% и 8% - си задал 0.55 и 0.8 вместо 0.055 и 0.08.
С тези промени би трябвало да заработи :)
Ето и моя код http://pastebin.com/74mbwae3 вади 100/100
добавих:
if (comission <0)
{
Console.WriteLine("error");
}
Като погледна грешката в judge, поглеждам и "Покажи грешката" и се сещам.
Здравейте колеги, аз също имам проблем с тази задача. Ето го моето решение http://pastebin.com/YJGfk6jQ , Judge-a не дава 100/100, макар че пробвах различни комбинации със и без (".ToLower()"). Не мога да намеря къде бъркам, при вход Sofia 1500 , очакваният изход е 120, а не излиза никакъв изход. Благодаря предварително ако някой даде идея.
Здравей,
Проблема ти идва от там, че като зададеш .ToLower();, имената на градовете трябва да ти почват с малка буква, а при теб са с голями и изобщо не се влиза в if проверката и отива директно на error. Това може да го видиш с дебъгера как прескача if- вете с градовете.
Благодаря borislav9212 , в действителност със същия код но без ".ToLower" , ми дава 100/100. Благодаря още веднъж, разбрах къде греша.
Печатам само веднъж отговора накрая.