Професионална програма
Loading...
+ Нов въпрос
l000p avatar l000p 11 Точки

Vacation 90/100 в Judge C++

https://pastebin.com/mZmjjJNh: моето решение.

https://softuni.bg/trainings/resources/officedocument/41301/exercise-problem-descriptions-programming-basics-with-cplusplus-june-2019%20/2401 

задачата е - Ваканция.

https://judge.softuni.bg/Contests/Practice/Index/1174#2 - задача в Judge.

 

Гърми ми на тест номер 6 и не разбирам защо ... HELP !

0
Programming Basics
mark79 avatar mark79 634 Точки

Здравей,

в тази част от кода

if(moneyAvail>=moneyNeeded){
    counterDays++;
    break;
}

трябва да махнеш равенството.

Има още няколко неща, който могат да се коригират по кода ти. Например, сумата която четеш за всеки ден можеш да я изнесеш преди if-a, както и преди проверките да увеличиш брояча за броя дни, което ще доведе до отпадане на тази проверка, по-горе която ти чупи кода. Предполагам не стана много ясно какво имам предвид, така че .. ето парче код

    while (moneyNeeded > moneyAvail && counterSpend < 5)
    {
        cin >> action;
        cin >> moneyVariable;

        counterDays++;

        if( action == "spend" )
        {
            moneyAvail = moneyAvail - moneyVariable;
            counterSpend++;

            if (moneyAvail < 0)
            {
                moneyAvail = 0;
            }
        }
        else if (action == "save")
        {
            moneyAvail = moneyAvail + moneyVariable;
            counterSpend = 0;
        }
    }

 

Поздрави :)

1
22/08/2019 14:22:27
l000p avatar l000p 11 Точки

https://pastebin.com/gYXbebXa Редактирано по твой насоки, пак дава грешка на тест 6.

Поправи ме ако нещо не съм разбрал.

0
21/08/2019 19:49:03
mark79 avatar mark79 634 Точки

Здравей,

въпреки че не е най-изисканото решение, не виждам причина защо да не дава пълен сбор точки.

Поздрави :)

0
21/08/2019 21:05:02
willystyle avatar willystyle 2194 Точки

Защо не дава, виж другия ми коментар.

0
willystyle avatar willystyle 2194 Точки

https://pastebin.com/LjxMkjya

0
l000p avatar l000p 11 Точки

Благодаря, но не мога да разбера какво прави while(true) ?? До колкото прочето while винаги ще върти освен ако не meet-не , break; ? 

1
21/08/2019 19:42:37
willystyle avatar willystyle 2194 Точки

точно безкраен цикъл, твое задължение e да направиш изходи с break.

0
l000p avatar l000p 11 Точки

Благодаря за отговора, във бъдеще ще е полезно несъмнено, въпреки че прочетох доста разногласия колко добра практика е това в писането на код. 
Ще те помоля ако можеш да отделиш малко време и да погледнеш какво не е наред в ревизираният ми код, защото реално получавам същите резултати като твоят, но пак гърми на същия тест 6.

Може ли задачата да се реши с conditional loop или тест 6 проверява точно това ? 

https://pastebin.com/gYXbebXa - ревизирано решение.

1
mark79 avatar mark79 634 Точки

Здравейте,

може ли да проверите отново събмишъните си в Judge, за да видим дали има някаква промяна.

Поздрави :)

1
22/08/2019 13:01:42
willystyle avatar willystyle 2194 Точки

Всички събмишъни са станали 100% :) променил си тест 6 ли?

0
mark79 avatar mark79 634 Точки

Здравей,

направих запитване дали може да има някакви грешки в този тест. Явно е имало и са отстранени.

Поздрави :)

1
l000p avatar l000p 11 Точки

Щеше да е добре ако екипът изпращаше какво не е било наред в проверките, за във бъдеще може да е полезно на някой. 
Адмирации, че не те е домързяло да се  свържеш с администратор !

0