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

Impress The Girlfriend Judge Помощ за задачката !

Здравейте колеги значи имам проблем със задачата от миналия месец в Judge която реших да реша днес защото ще започвам да уча и така . някой може ли да погледне кода и да ми каже къде е грешката ?

 

Код : 

http://pastebin.com/FatdrvxE#

 

Благодаря ви предварително за съдействието :)

Поздрави,

Борислав

Тагове:
0
Programming Basics
enevlogiev avatar enevlogiev 1168 Точки
Best Answer

Много изобретателен начин да намериш максималната от няколко стойности, хареса ми : ) Давай в същия дух!

Специално за грешката - направи ли ти впечатление този ред в условието на задачата:

On the only output line you must print the most expensive game price rounded up to the next integer number.

Прочети за Math.Ceiling() метода : )

0
borislavgotsev3 avatar borislavgotsev3 1 Точки

Дори несъм го забелязал много ти благодаря колега оправих го проблема решен е :) А реда в условието въобще не го бях забелязал :)

Solution : 

Console.WriteLine("{0:F2}", Math.Ceiling(
                Math.Max(R, Math.Max(D, Math.Max(E, Math.Max(levaB, levaM))))));

Поздрави,

0
02/12/2015 20:09:48
Filkolev avatar Filkolev 4485 Точки

Кратък коментар от човек който е минал КПК :)

Имаш извикване на 5 метода на един ред, и то вложени. На пръв поглед това може и да е готино (спестяваш писане), но би довело до проблеми ако някъде има грешка. Когато логиката е разписана по-подробно е много по-лесно да се дебъгне, отколкото ако трябва да гледаш с лупа един ред коя точно буквичка е сбъркана или коя скоба не е сложена на правилното място. Това е напълно възможно да се появи като проблем дори в такава малка програма, а в голям проект като екипна работа по ООП примерно може да доведе до грешки, които да блокират цялото приложение и да убиете много часове в търсене на източника.

С две думи - ако трябва да избираш между кратък код и четим код (който по-лесно може да се провери, тества, разбере), предпочитай винаги второто.

2
enevlogiev avatar enevlogiev 1168 Точки

Първоначалният му подход да намери максималната стойност беше много по-находчив и лесен за разбиране.

0
borislavgotsev3 avatar borislavgotsev3 1 Точки

Задачата е решена който иска може да види коректния код :)

Голями благодарности към enevlogiev :)

Поздрави,

0