Софтуерно Инженерство
Loading...
+ Нов въпрос
konstantin_zarev93 avatar konstantin_zarev93 0 Точки

Point on Rectangle Border

Къде ми е грешаката студиото ми оцветява в червено под всички x и y 

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

namespace Point_on_Rectangle_Border
{
    class Program
    {
        static void Main(string[] args)
        {
            var onLeftSide = (x == x1) && (y >= y1) && (y <= y2);
            var onRightSide = (x == x2) && (y >= y1) && (y <= y2);
            var onUpSide = (y == y1) && (x >= x1) && (x <= x2);
            var onDownSide = (y == y2) && (x >= x1) && (x <= x2);
            if (onLeftSide || onRightSide || onUpSide || onDownSide)
            {
                Console.WriteLine("Border");
            }

        }

    }
    }

Тагове:
koksibg avatar koksibg 893 Точки

Така е, защото не си ги декларирал никъде. Според условието на задачата, те се четат от конзолата:

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

....

...

И така всичките, които се изискат в задачата. А защо double, а не int - виж условието и примерния вход и изход от задачата. И по-добре си помагайте поне в началото с подсказките след всяка задача. Пъво изпълнете каквото се казва в посказките ( където ги има), след коато ако не усаппете да се справите, потърсете малко в гугъл - така ще си подобрите уменията за търсене, и ако неуспеете - пишете тук. Тук сме да си помагаме взаимно - Защото най-лесно е да получим готов отговор, но защо е така - правилно ли е така...как работи - т.е. трябва малко да помислим, да порешаваме дадената задача и тогава да търсим ( да задаваме въпроси - защо не работи) готов отговор.

Един доста полезен учебник:

http://www.introprogramming.info/wp-content/uploads/2015/10/Intro-CSharp-Book-v2015.pdf

1
g_todorov avatar g_todorov 98 Точки

Това, което си написал е част от решението на задачата. Колегата koksibg е прав, не си декларирал в началото променливите, които да чете конзолата - това са първите 6 реда отгоре - надолу започващи с ключовата дума var в кода на решението, който ти поствам по-надолу. Надявам се не ми се сърдиш, но ти препоръчвам да изгледаш първата лекция от курса отново: Ето и въпросният код на решението:

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

namespace PointOnRectangleBorder2
{
    class Program
    {
        static void Main(string[] args)
        {
            var x1 = double.Parse(Console.ReadLine());
            var y1 = double.Parse(Console.ReadLine());
            var x2 = double.Parse(Console.ReadLine());
            var y2 = double.Parse(Console.ReadLine());
            var x = double.Parse(Console.ReadLine());
            var y = double.Parse(Console.ReadLine());

            var  onLeftSide = ((x == x1) && (y >= y1 && y <= y2));
            var onRightSide = ((x == x2) && (y >= y1 && y <= y2));
            var onTop = ((y == y1) && (x >= x1 && x <= x2));
            var onBottom = ((y == y2) && (x >= x1 && x <= x2));

            if (onLeftSide || onRightSide || onTop || onBottom )
            {
                Console.WriteLine("Border");
            }
            else
            {
                Console.WriteLine("Inside / Outside");
            }
        }
    }
}

0