Loading...
DarinDoichev avatar DarinDoichev -1 Точки

Задача от Complex Conditional Statements - Programing Basics

Задачата e за точка върху страна на правоъгълник
Това ми е кода:
double x1 = double.Parse(Console.ReadLine());
double y1 = double.Parse(Console.ReadLine());
double x2 = double.Parse(Console.ReadLine());
double y2 = double.Parse(Console.ReadLine());
double x = double.Parse(Console.ReadLine());
double y = double.Parse(Console.ReadLine());
if (x == x1 || x == x2 && y >= y1 && y <= y2 ||
y == y1 || y == y2 && x >= x1 && x <= x2)
{
Console.WriteLine("Border");
}
else
{
Console.WriteLine("Inside / Outside");
}
}
с примерите от упражненията работи, но когато я пусна в Judge ми дава 77/100 точки. Грешката ми е в отговорите. При тест програмата ми изкарва като мой отговор Border вместо Inside / Outside. Това са примерните стойности които ми пуска Judge и има грешка с тях 2; -3; 12; 3; 2; 4;

Не мога да схвана къде съм сбъркал.

Тагове:
0
Programming Basics
CosmicSalad avatar CosmicSalad 3 Точки

Колеги, на тази задача получанам 55/100. Ще може ли някой от вас да ми обясни грешката? 

Source Code: 

 

using System;

class pointOnBorder
{
   static void Main()
   {
      var x1 = decimal.Parse(Console.ReadLine());
    
      var y1 = decimal.Parse(Console.ReadLine());
    
      var x2 = decimal.Parse(Console.ReadLine());
    
      var y2 = decimal.Parse(Console.ReadLine());
    
      var x = decimal.Parse(Console.ReadLine());
    
      var y = decimal.Parse(Console.ReadLine());
   
      if (x1 < x2 && y1 < y2)
      {
        if (x == x1 || x == x2) 
        {
          if (y >= y1 && y <= y2)
          {
            Console.WriteLine("Border");
          }
        }
      
       else if (y == y1 || y == y2)
       {
          if (x >= x1 && x <= x2)
         {
           Console.WriteLine("Border"        );
         }
       }
   
      else
      {
       Console.Write("Inside  / Outside");
      }
   }
 }
}

 

Бележка: В judge системата програмата е преминала всички тестове за изход "Border".

Проблемът се състой в това, че програмата ми "игнорира" последната else клауза и няма никакъв изход. 

 Благодаря предварително :)

0
s_sotirova avatar s_sotirova 4 Точки

Проверката x1 < x2 и y1 < y2, т.е. първия if е гарантирано в условието на задачата, може да го махнеш. Провери си посления else, да не е под if за гарантираната проверка. В този случай ще ти "игнорира" else, с който изписваш "Inside / Outside".

0
CosmicSalad avatar CosmicSalad 3 Точки

Благодаря за отговора! 

 Относно задачата, доколкото виждам else е под затварящата скоба на последния else if. Нямам никаква идея защо тази клауза не се изпълнява. Между другото има ли някакъв начин да се провери дали дадена стойност е включена в масив от данни в C#? В Python можеше да се провери с in , но в C# като пробвах не стана.

  

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