Loading...
ZvetanIG avatar ZvetanIG 907 Точки

[HW] Operators, Expressions and Statements - Problem 10

Здравейте,

някой забелязал ли е, че  в примерите този ред нещо не е наред

 x = 1.5
y = 2.5

inside K & outside of R    → yes

     
     

Според мен тази точка е извън кръга и отговора трябва да е no.

Според вас, какво е?  Грешка или уловка в задачата?

Тагове:
15
Programming Basics
ZvetanIG avatar ZvetanIG 907 Точки

       

Това е моя вариант на задачката:

 

 

        Console.Write("X = ");
        double x = double.Parse(Console.ReadLine());
        Console.Write("Y = ");
        double y = double.Parse(Console.ReadLine());
        double r = 1.5;
        bool isInCircle = r * r >= (x - 1) * (x - 1) + (y - 1) * (y - 1);
        bool isInRectangle = (x >= -1) && (x <= 5) && (y >= -1) && (y <= 1);
        Console.WriteLine(isInCircle && !isInRectangle ? "yes" : "no");

2
ananievnikola avatar ananievnikola 9 Точки

Не може ли принципно вместо bool isInRectangle = (x >= -1) && (x <= 5) && (y >= -1) && (y <= 1); да кажем просто

bool isInRectangle = (y >= -1); ? Тестовете от уърдовския файл ги минава всички така :)

 

едит: ето го и моето решение:

static void Main()
{
double centerX = 1;
double centerY = 1;
double radius = 1.5;

Console.WriteLine("Input coordinate for x: ");
double x = double.Parse(Console.ReadLine());
Console.WriteLine("Input coordinate for y: ");
double y = double.Parse(Console.ReadLine());

if ((Math.Pow(x - centerX, 2) + (Math.Pow(y - centerY, 2)) <= Math.Pow(radius, 2)))
{

if (y >= 1)
{
Console.WriteLine("Yes! The point is in the circle and outside the rectangle");
}
else
{
Console.WriteLine("No! The point isn't both inside the circle and outside the rectangle");
}
}
else
{
Console.WriteLine("No! The point isn't both inside the circle and outside the rectangle");
}
}

 

0
ZvetanIG avatar ZvetanIG 907 Точки

bool isInRectangle = (y >= -1);

Това няма да работи, защото правоъгълника има  някакви граници - долна граница и горна граница. Подходите са два:  проверка дали си в границите или проверка дали си извън границите.  Но и в двата случая трябва да провериш къде е точката прямо всички граници.

Например горния случай не би трябвало да работи при y = 2, защото у на правоъгълника е от  -1 до 1.

В случая долния израз проверява дали точката е в правоъгълника:

bool isInRectangle = (x >= -1) && (x <= 5) && (y >= -1) && (y <= 1)

Това, че програмката ти покрива всички примери от  задачата, не означава че е вярна. Опитай се да е тестваш с твои примери, за които например знаеш отговора.

 

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