Професионална програма
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