Loading...
mkpetrov avatar mkpetrov 8 Точки

Transport Price

Здравейте !

Имам лек проблем с тази задача или по точно нещо не мога да си открия грешката.

Това ми е решението http://pastebin.com/56pcLkcQ

В джъдж ми дава 66/100 , но нз защо на грешките не ми дава сащо точно се чупи там.

Като изпробвам 4те примерни входа които ги има в условието на задачата ми излиза и същият отговор както е там .

Ще съм благодарен за помоща :)

Тагове:
0
Programming Basics
koksibg avatar koksibg 892 Точки

Здрасти, логиката ти е грешна. Виж условието на задачата.

Ето ти моя код   http://pastebin.com/RMnxM1du И тази задача многократно е обсъждана във форума - 

преди да питаш провери в съответната секция(таг) дали не е задаван.

0
davichonov365 avatar davichonov365 127 Точки

Като питаш за някоя задача ,. дай поне условието,. аз като ти гледам кода ще си кажа няма проблем,. но като незнам заданието ?

1
07/11/2016 09:21:06
ambiorix avatar ambiorix 640 Точки

Грешни знаци при условните конструкции (<, <= и т.н.). Ето 100 точки с поправките:

if (km<20 && PartOfTheDay=="day")
                {
                    Console.WriteLine(km*0.79+0.70);
                }
                else if (km<20 && PartOfTheDay=="night")
                {
                    Console.WriteLine(km*0.90+0.70);
                }
                else if (km>=20 && km<100 )
                {
                    Console.WriteLine(km*0.09);
                }
                else if (km>=100)
                {
                    Console.WriteLine(km*0.06);
                }

0
VenciSarov avatar VenciSarov 37 Точки

Ето и моето решение:

 

using System;

class TransportPrice
{
    static void Main()
    {
        int kilometers = int.Parse(Console.ReadLine());
        string partOfTheDay = Console.ReadLine();

        double taxiPrice = 0;
        double busPrice = 0;
        double trainPrice = 0;

        if (kilometers < 20)
        {
            if (partOfTheDay == "day")
            {
                taxiPrice = 0.7 + (0.79 * kilometers);
            }
            else
            {
                taxiPrice = 0.7 + (0.9 * kilometers);
            }

            Console.WriteLine(taxiPrice);
        }
        else if (kilometers <100)
        {
            busPrice = kilometers * 0.09;

            Console.WriteLine(busPrice);
        }
        else
        {
            trainPrice = kilometers * 0.06;

            Console.WriteLine(trainPrice);
        }
    }
}

0
GallyaNs avatar GallyaNs 23 Точки

Бих ти препоръчила при такива тип задачи като тази или където се избират няколко варианта(напр.  Metric Converter , Small Shop ). Да изпозлваш swicth-case. Така няма да се губиш из много условни проверки.

Тази задача я направих с switch-case:

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

namespace Transport_Price
{
    class Program
    {
        static void Main(string[] args)
        {
            var km = double.Parse(Console.ReadLine());
            string time = Console.ReadLine();

            double price;
            switch (time)
            {
                case "day":
                   if(km <= 19)
                    {
                        price = 0.7 + (km * 0.79);
                        Console.WriteLine("{0:f2}", price);
                    }
                       
                   else if (km >= 20 && km <=99)
                    {
                        price = km * 0.09;
                        Console.WriteLine("{0:f2}", price);
                    }
                    else if (km >= 100)
                    {
                        price = km * 0.06;
                        Console.WriteLine("{0:f2}", price);
                    }
                    break;
                case "night":
                    if (km <= 19)
                    {
                        price = 0.7 + (km * 0.9);
                        Console.WriteLine("{0:f2}", price);
                    }

                    else if (km >= 20 && km <=99)
                    {
                        price = km * 0.09;
                        Console.WriteLine("{0:f2}", price);
                    }
                    else if (km >= 100)
                    {
                        price = km * 0.06;
                        Console.WriteLine("{0:f2}", price);
                    }
                    break;
            }

        }
    }
}

 

2
g_todorov avatar g_todorov 106 Точки

Здравей,

виж и моя код - малко дълъг е, но за сметко на това е разбираем:

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

namespace CenaNaTransport
{
    class Program
    {
        static void Main(string[] args)
        {
            var n = int.Parse(Console.ReadLine());

            if (n < 1 || n > 5000)
            {
                Console.WriteLine("Wrong number");
            }
            else
            {
                var t = Console.ReadLine();

                if (t == "day")
                {
                    if (n < 20)
                    {
                        Console.WriteLine((n * 0.79) + 0.7);
                    }
                    else if (n < 100)
                    {
                        Console.WriteLine(n * 0.09);

                    }
                    else if (n <= 5000)
                    {
                        Console.WriteLine(n * 0.06);
                    }
                }
                else if (t == "night")
                {
                    if (n < 20)
                    {
                        Console.WriteLine( (n * 0.9) + 0.7);
                    }
                    else if (n < 100)
                    {
                        Console.WriteLine(n * 0.09);
                    }
                    else if (n <= 5000)
                    {
                        Console.WriteLine(n * 0.06);
                    }
                }
                else
                {
                    Console.WriteLine("Wrong word");
                }
            }
        }
    }
}

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