Loading...
YTyordanov avatar YTyordanov 0 Точки

Transport Price nad Pool Pipes problem.

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

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

Transport Price:

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

namespace _16.transport_price
{
    class Program
    {
        static void Main(string[] args)
        {
            var n = double.Parse(Console.ReadLine());
            var time = Console.ReadLine();
            if (n < 1)
            {
                Console.WriteLine("invalid number");
            }
            else if (n > 5000)
            {
                Console.WriteLine("invalid number");
            }
            else if (n > 100)
            {
              
                    Console.WriteLine(n * 0.06);
                
            }
            else if (n > 20)
            {
                Console.WriteLine(n * 0.09);
            }
            else if (n > 0)
            {

            
             if (time == "day")
                {
                    Console.WriteLine(0.70 + n * 0.79);
                }
                else if (time == "night")
                {
                    Console.WriteLine(0.70 + n * 0.90);

                }
            }
        }
    }
}
 

Pool Pipes:
 

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

namespace _17.pool_pipes
{
    class Program
    {
        static void Main(string[] args)
        {
            var v = double.Parse(Console.ReadLine());
            var p1 = double.Parse(Console.ReadLine());
            var p2 = double.Parse(Console.ReadLine());
            var h = double.Parse(Console.ReadLine());

            var p1l = p1 * h;
            var p2l = p2 * h;

            if (h < 1)
            {
                Console.WriteLine("invalid number");
            }
            if (h > 24)
            {
                Console.WriteLine("invalid number");
            }
            if ((p1l + p2l) > v)
            {
                var dif = (p1l + p2l) - v;
                Console.WriteLine("For {0} hours the pool overflows with {1} liters.", h, dif);
            }
            else if ((p1l + p2l) < v)
            {
                var fillper = ((p1l + p2l) / v * 100);
                var p1per = Math.Truncate(p1l / (p1l + p2l) * 100);
                var p2per = Math.Truncate(p2l / (p1l + p2l) * 100);
                Console.WriteLine("The pool is {0}% full. Pipe 1: {1}%. Pipe 2: {2}%.", fillper, p1per, p2per);
            }

        }
    }
}
 

Директно ги пейстнах тук , ако не е удобно кажете.

Благодаря Предварително!

 

Тагове:
0
Programming Basics
fiherLuci avatar fiherLuci 225 Точки

http://pastebin.com/y5q50Ezw  TransportPrice решение с 100/100 . 

http://pastebin.com/wrbxDEMK PoolPipes решение с 100/100 . 

Относно пействането - използвай pastebin . И един жокер за да си разбереш грешката - виж как са правени сметките при мен и при теб и почни да дебъгваш ;-) 

0
Leprikona avatar Leprikona 108 Точки

За Transport price - проверките не са ти правилни. Прочети отново условието;

 

0
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

  if (h < 1)
            {
                Console.WriteLine("invalid number");
            }
            if (h > 24)
            {
                Console.WriteLine("invalid number");

Тези проверки защо ги правиш? Никъде не се иска в условието. Съответно и е излишен изход в Judge, Не ми се вярва, да не ти го е казал.

0
25/09/2016 08:34:48
Kristianchooy avatar Kristianchooy 59 Точки

Pool Pipes problem : http://pastebin.com/SPDLE9Mi 

Transport Price problem : http://pastebin.com/x9jhUFB9

 

0
KostadinKotevski avatar KostadinKotevski 24 Точки

Здравей:

ето ги двата кода който аз съм писъл: 100/100 са и двата

http://pastebin.com/ueuwsf3Z -transport price

http://pastebin.com/73CppXS8 -pool

Коментар на твоят код за transport price-

Не ти е нужно да тестваш за invalid number. Според мен трябва да прочетеш внимателно условието за да може да видиш че трябва да тестваш с if конструкция(както си използвал) за номера под 20 , над и равно на 20 и под 100 и за повече или равно на 100. Следователно за всяко от условия трябва да направиш day and night с правилните цени. Това е тази задачка. 

Коментар за pool-

Отново не са ти нужни тестове за invalid number. Тук те съветвам да помислиш какво още ти трябва да сложиш горе преди if-овете  като сметки и после да го отпечаташ. Браво че си се сетил за използваш Math.Truncate. Аз лично те съветвам да ги смяташ нещата преди if-овете и после да ги отпечатваш просто. Разбира се няма грешен подход тук стига да работи. Просто ги помисли и ще се сетиш още какво трябва да се сметне.

Надявам се да съм помогнал.

Поздрави,

Костадин 

0
YTyordanov avatar YTyordanov 0 Точки

Благодаря на всички , изключително полезни отговори давате.Използвам проверките за invalid number защото на предишна задача ми даде като грешка че не съм проверил въпреки че в условието не беше казано че трябва да го правим.

0
Stradjazz avatar Stradjazz 30 Точки

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

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