Софтуерно Инженерство
Loading...
+ Нов въпрос
GoldenBoyBG avatar GoldenBoyBG 26 Точки

Programming Basics Exam - 17 December 2017

Здравейте, пиша ви относно задача https://judge.softuni.bg/Contests/Practice/Index/888#2 .

Решението което изпращам (ЦЪК) на Judge-а ми дава 20/100 точки, защото съм използвал Math.Round(), а трябваше да го направя с {0:f2}.

Не ме притеснява това, защото открих къде ми е грешката. По-скоро ме притеснява факта, че не измислих по-лесен/по-кратък начин да напиша задачата. Може ли някой да ме ориентира как е възможно да я направя по друг начин, който ще бъде по-удачен?

Благодаря!

Тагове:
ad2bg avatar ad2bg 123 Точки
Best Answer

Моето решение от изпита:

 https://pastebin.com/CTj4irBh

1
GoldenBoyBG avatar GoldenBoyBG 26 Точки

Много хитро решение, благодаря ти! Ще гледам да попия наученото. laugh

0
inkarnasion avatar inkarnasion 184 Точки

Евала за кодаyes, ама сега остава да обясниш на човека защо е този въпросителен и че това е тернарен оператор който замества if-else конструкция да не се чуди, иначе е много готино решението.laugh

0
svetoslav_0 avatar svetoslav_0 1005 Точки

Като начало можеш да смяташ цената за нощувките и цената за пътуването поотделно. Няма нужда да ги влагаш едно в друго. Само от това броят на редове на кода ти ще падне наполовина. Другото, което можеш да направиш, е да не заделяш отделни променливи за цените. Например: 

Transport = children * 29.99 + ...

А не:

ChildBus = 29.99;

Transport = children * ChildBus + ...

//Имената на променливите и стойностите са примерни

Мисълта ми е че те са константни и не се променят. 

Друго: можеш да използваш switch-case конструкция за вида транспорт и дестинацията. Аз лично го предпочитам. Изказвам мнение като студент от скоро, не като по-напреднал, но все пак се надявам да съм полезен :)

2
marian12 avatar marian12 36 Точки

https://pastebin.com/PHxHB94q ето ти и от мене едно, просто да видиш моята логика :)

0