Loading...
bokoto83 avatar bokoto83 1 Точки

Compile time error 01.Tennis Equipment

Здравейте колеги. Имам проблем със задачата https://judge.softuni.bg/Contests/Practice/Index/1538#1 . 01. Tennis Equipment. 

Кодът, който написах ми дава в judge Compile time error. Идеи ? Във Visual Studio няма проблем.

Това е моят код https://pastebin.com/nhg8buvK 

Тагове:
0
Programming Basics with C++ 13/01/2020 19:30:29
bokoto83 avatar bokoto83 1 Точки

Ok. Сам ще си отговоря. По някаква причина judge не ми иска променливата otherЕquipment surprise. Следващият проблем е 90/100 точки. Пренаписах абсолютно същият код на C# и ми дава 100/100.

http://pastebin.com/gLXZKmpX

0
13/01/2020 22:58:09
kolioi avatar kolioi 641 Точки

Проблема е в това, че буквата Е в otherEquipment е написана на кирилица. Майкрософтския компилатор няма проблем с това, но Джадж работи с gcc, а той пищи и се сърди :)

Значи какво се прави в такива случаи - копираш грешката "error: stray '\320' in program" и я търсиш в гугъл. Там хората ти казват, че най-вероятно буквата Е в otherEquipment не е ASCII character. Можеш да се увериш в това като отвориш твоя сорс файл с някой hex editor. И наистина, вместо 45 имаш 415, което е главна буква Е на кирилица  https://www.fileformat.info/info/unicode/char/0415/index.htm

Другият проблем е, че един от тестовете гърми и причината за това е закръгляването. По-точно представянето на дробните числа в компютъра. Ако замениш последните 4 реда с тези

int priceForDjoko = totalPrice / 8;
int priceForSponsor = totalPrice - priceForDjoko;

cout << "Price to be paid by Djokovic " << priceForDjoko << endl;
cout << "Price to be paid by sponsors " << priceForSponsor << endl;

четвъртия тест вече работи, но пък първите 2 дават грешка. Ако имаш свободно време, може да си поиграеш малко :)

1
JOHNY avatar JOHNY 196 Точки

Най-смешното е, че:

cout << "Price to be paid by Djokovic " << fixed << setprecision(0) << floor(priceForDjoko) << endl;
cout << "Price to be paid by sponsors " << fixed << setprecision(0) << ceil(priceForSponsor) << endl;

работи. :D

<< fixed << setprecision(0) <<  с #include <iomanip> най-отгоре преодоля тест 4. Без него, а само с floor & ceil тест 4 гърми и дава 90 точки. В такива случаи ми е изключително интересно какви са входните данни за да се произведат фойерверките. ;)

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.