Loading...
g_todorov avatar g_todorov 106 Точки

09. Day of Week - лекция "По-сложни проверки" (Judge Problem)

Здравейте,

имам проблем с Judge при задачата от заглавието - дава ми 12/100,

а като отида на детайлите ми показва, че при каквото и да е число (от 1 до 7)

верния output трябва да е все sunday. Твърде е възможно и аз някъде да греша,

затова вижте и сорс-кода ми. Предварително мерси за отделеното време и препоръки!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DayOf_Week
{
    class Program
    {
        static void Main(string[] args)
        {
            var dayOfWeek = 7;

            switch (dayOfWeek)
            {
                case 1: Console.WriteLine("Monday");
                    break;
                case 2: Console.WriteLine("Tuesday");
                    break;
                case 3: Console.WriteLine("Wednesday");
                    break;
                case 4: Console.WriteLine("Thursday");
                    break;
                case 5: Console.WriteLine("Friday");
                    break;
                case 6: Console.WriteLine("Saturday");
                    break;
                case 7: Console.WriteLine("Sunday");
                    break;
                default:
                    Console.WriteLine("Error");
                    break;
            }

        }
    }
}

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

http://pastebin.com/DY62jAFf Аз го приспах много "оригинално" :D

 

0
IvanNiv avatar IvanNiv 13 Точки

cvetomirG решението ти е "оргинално", но в условието на задачата имаш "Use the switch-case statement"

2
g_todorov avatar g_todorov 106 Точки

Хареса ми - тарикатско решение!

0
cvetomirG avatar cvetomirG 132 Точки

Исках да се заиграя, понеже ме ядоса езика, че ми гърмеше с outofrange exception и реших да го приспя по най-бруталния начин :D , иначе if/ switch може да е написано, но пък if/ switch са ми скучни :p . Иначе предполагам това нещо с"production" сигурно щях да бъда нападнат от ПМ или от QA физически, но пък judge щом позволява :D . 

Иначе в продукшън, предполагам и аз бих използвал switch конструкция, понеже няма нужда да се обратоват изключения, понеже си имаме default, тоест всичко различно от горе споменатото. Просто пиша на PHP и там масивите са предимно предпочитани за всичко, със суич кейз ми е ясно, просто ми стана интересно по време на задачата как да реша проблемите с outofrange, че после array.Contain() метода, и накрая се ядосах и го приспах по тоя начин.

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

 

 

0
11/11/2016 04:03:13
stanchev1 avatar stanchev1 122 Точки

Проблемът е още в началото където инициализираш променливата (dayOfWeek  = 7).Това ти е грешката ,защото това число се чете от конзолата и трябва да стане -  var dayOfWeek = int.Parse(Console.ReadLine());

Успех,дано съм помогнал.

0
g_todorov avatar g_todorov 106 Точки

Мерси!

Правих си едни проверки с дебъгера и съм забравил да задам Console.ReadLine(): 

То очеизбодно :)

Благодаря още веднъж!

0
vancho avatar vancho 430 Точки

Ето тук ти е грешката: Всеки път денят е неделя!

var dayOfWeek = 7;

switch (dayOfWeek)

....

....

 case 7: Console.WriteLine("Sunday");
                    break;

-1
g_todorov avatar g_todorov 106 Точки

10X a lot!

Правих едни проверки с дебъгера и направо съм пейстнал в Judge!

Мерси още веднъж :)

0
IvanNiv avatar IvanNiv 13 Точки

Здравей,

мисля че имаш пропуск в кода. Липсва ти прочитане на входните данни в самото начало.

var dayOfWeek = int.Parse(Console.ReadLine());

както и да отпадне

var dayOfWeek = 7; 

 

При така публикувания от теб сорс-код, винаги деня ще бъде 7-Sunday.

0
10/11/2016 15:57:44
g_todorov avatar g_todorov 106 Точки

Абсолютно си прав!

10X  за тоговора!

0
davichonov365 avatar davichonov365 127 Точки

незнам но аз тук не виждам вход в задачата ,. ?? Кой ще ти подава деня 

0
g_todorov avatar g_todorov 106 Точки

Играх си с дебъгера и съм пейстнал кода с входната константна стойност в Judge :)

Когато човек е изморен някой път не вижда очевидните неща.

Мерси за подсказката и отделеното време.

0
MonikaVelkova avatar MonikaVelkova 0 Точки

   http://pastebin.com/spNbJm2n

Ето това е моето решение, дава ми 100/100. Предполагам идва от това, че задаваш =7.

0
g_todorov avatar g_todorov 106 Точки

Точно от това идва щото преди това си играх с дебъгера и направо с константата го пейстнх в Judge!

Мерси за подсказката - аз се усетих веднага след като постнах във форума, но понякога така става :)

Успех ти пожелавам!

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