Софтуерно Инженерство
Loading...
boris2t avatar boris2t 1 Точки

08.Travelling Nested Loops C#

Условие: 

8. Пътуване
Ани обича да пътува и иска тази година да посети няколко различни дестинации. Като си избере дестинация,
ще прецени колко пари ще й трябват за да отиде до там и ще започне да спестява. Когато е спестила
достатъчно, ще може да пътува.
От конзолата всеки път ще се четат първо дестинацията и минималния бюджет, който ще е нужен за
пътуването . След това ще се четат няколко суми, които Ани спестява като работи и когато успее да събере достатъчно за
пътуването, ще заминава, като на конзолата трябва да се изпише:
"Going to {дестинацията}!"
Когато е посетила всички дестинации, които иска, вместо дестинация ще въведе "End" и програмата ще
приключи.

 

Това е решението ми: https://pastebin.com/qnUW1y3Y

дава ми 70/100 с няколко Runtime errors и не знам какво съм объркал, тъй като нулевите тестове минават правилно.

Може ли някой да ми помогне?

Тагове:
kolioi avatar kolioi 612 Точки

Интересно, това минава със 100/100, а това взема само 90/100.

0
kostanikolov avatar kostanikolov 44 Точки

Ами не знам, гледам, че на С++ гърми един тест за време. Забелязах също така, че решението на @boris2t също минава без проверка за това дали парите са събрани или не са, за дадената дестинация. Само трябва сумите да са double.

0
kolioi avatar kolioi 612 Точки

Ами там е работата, че ако имаше такъв случай (недостатъчно пари за някое пътуване), програмата щеше да изпуши, защото във вътршния цикъл ще прочетем стринг (следващата дестинация или END) и като се опитаме да го парснем - бум! laugh Така че, такава проверка е абсолютно ненужна, както се вижда от кода който съм дал.

А кода на C++ е същия, само входните и изходните операции са по-различни. Нямам идея откъде идва забавянето, най-вероятно от настройките на компилатора.

Между другото, Graduation pt.3 също има грешни тестове и минават само половината. А Пирамида от числа може да се реши само с един цикъл и няма нужда от вложени цикли https://pastebin.com/dD7p6r0D

0
ivan09 avatar ivan09 0 Точки

Здравейте,

 

И аз си блъсках главата час+.. взимах само 90/100 на C++

без да мога да разбера защо, и при мен така с часовници..

но не е свърано с комплилатора или проблем с някои от loops

вашите примери ми помогнаха,

разликата която виждам C# (100/100) vs C++(90/100) във вашия код,

е че чете цялата линия за разлика от C++

Та реших да пробвам с getline()

и вече ми дава 100/100

въпреки че в примерите за стрингове са само по една цяла дума без space,

явно judge пуска тестове и за имена на дестинации с повече от една дума.

Но error-te който дава са тотал no sence..

Никаква подсказка не дава какво може да е проблема

Та направи си решението с getline() вместо с cin

и трябва да е ОК

0
13/06/2019 06:58:20