Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

stdimitrov avatar stdimitrov 2 Точки

Имам проблем с 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" (в противен случай).

       

Вход Изход Вход Изход
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 2422 Точки

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 2 Точки
thanks for the help!heart
0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.