Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

DStefanow avatar DStefanow 112 Точки

03. On time for the Exam- 06 March - проблем с изхода

Здравейте колеги,

малко страничен въпрос, ама се надявам да ми помогнете. Като пусна задачата в Judge ми дава 81 точки и реших да сваля тестовете и да видя, какъв е съответно входа и изхода и се оказа, че изхода от програмата ми напълно съвпада с очаквания и не мога да разбере, къде е проблема. Ето кода: http://pastebin.com/1nvgnBLU (знам, че е бая дълго написано и има 100% по- оптимизиран вариант, ама това не ми е проблема сега).

Входовете при които става проблем са:

1. 9 00 10 30 - изходът е Late 1:30 hours after the start - при мене е същия.

2. 9 00 8 30- изходът е On time 30 minutes before the start - при мене е същия.

3. 10 00 10 00 - изходът е On time- при мене е същия.

Благодаря предварително! (:

Тагове:
0
Programming Basics
VladoGenov avatar VladoGenov 45 Точки

Едната грешка идва от тук (ред 64-70 от твоят код):
           Console.WriteLine("Early");
            if (m == minuteArrive)
                    {
                        Console.WriteLine("{0}:00 hours before the start", Math.Abs(h - hourArrive));
                        return;
                    }
                    Console.WriteLine("{0} minutes before the start", 60 - minuteArrive + m);

Не си сложил втория печат в ELSE и така, когато имаш само минути (0-59), ти се отпечатва коректно, но когато имаш час и нещо, хем печаташ часа, хем след това минутите.
Ето коректната проверка:

                      if (m == minuteArrive)
                            {
                            Console.WriteLine("{0}:00 hours before the start", Math.Abs(h - hourArrive));

                            }
                        else
                            {
                            Console.WriteLine("{0} minutes before the start", 60 - minuteArrive + m);
                            }

2
DStefanow avatar DStefanow 112 Точки

Не е от там грешката, защото има return след това, аз го пробвах и с else резултатът е същия, в крайна сметка ще питам някой от екипа!

Мерси все пак за хелпа! (:

0
VladoGenov avatar VladoGenov 45 Точки

От там е едната грешка със сигурност, понеже без else печата едновременно:
Early
1:00 hours before the start
60 minutes before the start

Но другата грешка нямах време да я открия, за което се извинявам!
 

0
DStefanow avatar DStefanow 112 Точки

Включил съм return, който директно прекратява програмата, така че не е от него. Направих друго решение, което мина коректно.

1
VladoGenov avatar VladoGenov 45 Точки

Сега видях и return-a smiley
Радвам се, че си намерил решението.
А по принцип извън задачата, когато искаш да прекъснеш, не е ли по-добре да използваш <break>?!
Return-a не се ли ползва по-скоро при процедури/функции да прекрати изпълнението им и да върне променлива/и?

0
DStefanow avatar DStefanow 112 Точки

До колкото знам break се ползва в логически условия, които са в тялото на някакъв цикъл, а return директно слага край на метода и излиза от него. В случая искаме да отпечатаме резултата и после да прекратим програмата.

1
stovensssa avatar stovensssa 2 Точки

Здравейте,кодери.. може ли тестовете от judge, защото не успях да намеря последната си грешка.. Благодаря предварително ... ето го кода: https://pastebin.com/04wdrH43

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