03.Flowers ot Nested Conditional Statements - More Exercises
Пържите 2 входа излизат, но третият не. Според мен става грешка с отстъпката за розите и после с отстъпката за повече от 20 цветя, но мисля че съм я записал вярно. Някой идея какво да променя? https://pastebin.com/43r7tQrm ето и линк за условието https://judge.softuni.bg/Contests/Practice/Index/1663#2
На мен ми се вижда по - сложно ;) но работи. Но все пак не мога да си видя грешката на мойто, дава ми 87/100 и си мисля че трябва да ми е вярно.
Значи нека ти дам няколко насоки да видиш къде грешиш, и защо твоето решение в този си вид е грешно...Когато нещо не ти работи пускаш дебъг и гледаш къде се дъни кода...В твоя случай е в проверката за празнични дни и по точно когато не е Празник.....В условието на задачата са казали...
"За закупени 10 или повече рози през зимата – 10% от цената на целият букет."
В твоят код си казал:
......
В този си вид на кода всеки път когато имаш 10 рози в теста ще влизаш в проверката за розите,и съответно правиш намаление на цената, и това е защото си сложил този if в проверка която проверява дали е есен или зима, така ВИНАГИ ще ти гърми....
Пусни си примерните тестове от условието. При тест 2 имаш 10 рози и тогава ти е верен кода, но при тест 3 ОТНОВО имаш 10 рози и съответно влизаш в проверката за тези цветя и им правиш намаление, независимо че сезона не е Зима а е Есен, така си структурирал самият код, ако закоментираш реда if (countOfRoses >= 10) то тогава ще ти мине третия нулев тест обаче ще гръмне тест 2, и пак ще ти даде 87/100 като този път обаче грешката ще е в тест 2.. Това ти е проблема, надявам се че си схванал обяснението ми, и може да си промениш кода така че да стане верен. Поздрави.
Мого благодаря за обяснението! Сега вече го схванах!
Най грозното решение което да работи без да ти променяям кода че да си го знаеш какво си писал е това:
https://pastebin.com/wiWWCmBi
Но това е грешно, има едно нещо което трябва да се иззбягва, това е повторението на код, а така при теб общо взето е това, един и същ код само че с два различни входа, Yes or No, така по принцип не се прави, за това ти казах че моето решение е по чисто. Но ето ти го твоето решение поправено за да мине в джъдж, виж какво съм добавил.
Разликата че добавих отново сезона в проверката за цветята за да може да си сигурен че ако имаш толкова цветя то ще е в правилният сезон,не ми се занимаваше да проверявам в кой сезон точно гърми тоя граничен тест, за това ги добавих навсякъде, ако искаш дебъгвай и виж къде е правилно да се постави, или в твоя случай ,оже и да трябва нясвякъде....
Наистина е доста тромаво моето решение, за това направих друго по компактно, ръководейки се от твойто https://pastebin.com/tGUrxSSD
Проверката за "N" реално е излишна, а другите като се навържат една след друга се получават нещата :) само трябва да посвикна и отстъпките да ги пиша по краткия начин.
Благодаря за отделеното време! ;)
не ми дава да натисна палеца на горе...
Привет,
И моя километричен код гръмна, без да го пусна в judge в дебъгера го хванах още хаха. Не можах да разбера, как да го направя кратичко и работещо.
Кода ти ми беше много полезен, но явно съм изпуснала нещо да разбера.
Ще хвърлиш ли нещо синтезирано за крайните проверки само с if ?
Нямаме нужда от проверка за N, защото влиза в else case, ако не е Y , каквото и друго да се въведе, ще хвърля стойността, без намаленията, правилно ли съм разбрала?
И също като проверките не са вложени в блока от код на първия if, защо се изпълняват, другите if , когато първия хвърли true?
Последно, като видях символ в условието( за дните), ползвах char и с двете ли може?
Сигурно са ми глупавите въпросите, но ще се радвам на отговор. Благодаря предварително!