Професионална програма
Loading...
+ Нов въпрос
stdimitrov avatar stdimitrov 0 Точки

Имам проблем с 06. Point on Rectangle Border ; език C#

Здравейте! Все още съм новобранец и искам да науча да програмирам , но  нещо не мога да си намеря грешката в следната задача:  https://judge.softuni.bg/Contests/Practice/Index/508#5

Условие:

Пример: точка върху страна на правоъгълник

Да се напише програма, която проверява дали точка {x, y} се намира върху някоя от страните на правоъгълник {x1, y1} - {x2, y2}. Входните данни се четат от конзолата и се състоят от 6 реда: десетичните числа x1y1x2y2x и y (като се гарантира, че x1 < x2 и y1 < y2). Да се отпечата "Border" (точката лежи на някоя от страните) или "Inside / Outside" (в противен случай).

Имам проблем с 06. Point on Rectangle Border ; език  C#       

Вход Изход Вход Изход
2
-3
12
3
12
-1
Border 2
-3
12
3
8
-1
Inside / Outside

      

 Това е моето решение :

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

namespace _06.Point_on_Rectangle_Border
{
    class Program
    {
        static void Main(string[] args)
        {
            //Input

            Console.Write("x1= ");
            var x1 = double.Parse(Console.ReadLine());

            Console.Write("y1= ");
            var y1 = double.Parse(Console.ReadLine());

            Console.Write("x2= ");
            var x2 = double.Parse(Console.ReadLine());

            Console.Write("y2= ");
            var y2 = double.Parse(Console.ReadLine());

            Console.Write("x= ");
            var x = double.Parse(Console.ReadLine());

            Console.Write("y= ");
            var y = double.Parse(Console.ReadLine());


            //verification

            var onLeft = (x == x1) && (y >= y1) && (y1 <= y2);
            var onRight = (x == x2) && (y >= y1) && (y >= y1) && (y <= y2);
            var onUp = (y == y1) && (x >= x1) && (x <= x2);
            var onDown = (y == y2) && (x >= x1) && (x <= x2);


            //Outputs

            if (onLeft || onRight || onUp || onDown)
            {

                Console.WriteLine("Border");
            }

            else
            {
                Console.WriteLine("Inside / Outside ");
            }
        }
    }
}
 

Дава ми 0/100 не мога да си намеря грешката. Благодаря предварително!

Тагове:
0
Programming Basics
Axiomatik avatar Axiomatik 312 Точки

Line 11-26 : Input help is helpful when testing, but for the judge-system it will be considered as an error, since the system will not expect these output lines from the program.

Line 32-35 : There were two mistakes in your validation logic, see refactored code for the differences.

Line 45 : Output needs to be "Inside / Outside", but was "Inside / Outside " with space at the end.

Best,

New code (100%):

using System;

namespace _06.Point_on_Rectangle_Border
{
    class Program
    {
        static void Main(string[] args)
        {
            //Input

            //Console.Write("x1= ");
            var x1 = double.Parse(Console.ReadLine());

            //Console.Write("y1= ");
            var y1 = double.Parse(Console.ReadLine());

            //Console.Write("x2= ");
            var x2 = double.Parse(Console.ReadLine());

            //Console.Write("y2= ");
            var y2 = double.Parse(Console.ReadLine());

            //Console.Write("x= ");
            var x = double.Parse(Console.ReadLine());

            //Console.Write("y= ");
            var y = double.Parse(Console.ReadLine());


            //verification

            var onLeft = (x == x1) && ((y >= y1) && (y <= y2));
            var onRight = (x == x2) && ((y >= y1) && (y <= y2));
            var onUp = (y == y1) && ((x >= x1) && (x <= x2));
            var onDown = (y == y2) && ((x >= x1) && (x <= x2));

            //Outputs

            if (onLeft || onRight || onUp || onDown)
            {
                Console.WriteLine("Border");
            }
            else
            {
                Console.WriteLine("Inside / Outside");
            }
        }
    }
}
 

0
stdimitrov avatar stdimitrov 0 Точки
thanks for the help!heart
0