Loading...
Kristianchooy avatar Kristianchooy 59 Точки

Transport Price [ЗАДАЧА]

здравейте!
Джъджа ми дава 87/100 , като имам 2 грешни теста , предполагам е някъде из границите , но не мога да я видя и намеря вече 1 час...

Coding 101 Exam - 6 March 2016 -това е теста , задача 3.

 

ето ми кода- http://pastebin.com/mE7qFaH9

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

Здравей,

Така си ги оплел сметките и математиката, че на никого май не му се проверява такъв код.

Единствената грешка в кода ти е в този ред:

Console.WriteLine("{0}:{1:d2} hours before the start", Math.Abs(hourStart - hourArrived), Math.Abs((hourStartInMin - hourArrivedInMin)) % 60);

Трябва да стане:

Console.WriteLine("{0}:{1:d2} hours before the start", Math.Abs((hourStartInMin - hourArrivedInMin) / 60), Math.Abs((hourStartInMin - hourArrivedInMin)) % 60);

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

Примерно ако изпита е от 12:00, а студента е дошъл 10:55 - разликата е 1:05 , а твоята програма смяташе 2:05 разлика.

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

Напиши дали си се оправил, че напоследък доста колеги пишат в форума и изчезват, не казват оправили са се и какво е станало със задачата им.

0
08/08/2016 20:43:12
Kristianchooy avatar Kristianchooy 59 Точки

Благодаря много! Оправих се да , още вчера видях друго решение и поправих моя дълъг и трудно четим код, но Благодаря за фиска,  защото това беше първото което ми хрумна :)

1
Plamen27 avatar Plamen27 599 Точки

Радвам се, +1 от мен.

0
puffed avatar puffed 289 Точки

Здравей, става дума за задачата On time for the exam нали? Мисля, че неправилно изчисляваш разликата, когато е по-голяма 1 час. Така и така си превърнал и двата момента в минути, най-добре е според мен да изчислиш разликата още там с  часове и минути и това да изписваш в случаите, когато разликата е повече от 60 Мин. 

var examTimeInMin = examHour * 60 + examMin;
var arriveTimeInMin = arriveHour * 60 + arriveMin;
var diffTimeInMin = arriveTimeInMin - examTimeInMin;
var diffHour = Math.Abs(diffTimeInMin) / 60;
var diffMin = Math.Abs(diffTimeInMin) % 60;
0
07/08/2016 19:22:57
borislav9212 avatar borislav9212 745 Точки

Заглавието е объркано. Задачата е

03. On Time for the Exam

Моето решение.

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