Домашно C# - 4.06. "По-сложни проверки" - Point on Rectangle Border
"Напишете програма, която проверява дали точка {x, y} се намира върху някоя от страните на правоъгълник {x1, y1} – {x2, y2}. Входните данни се четат от конзолата и се състоят от 6 реда: десетичните числа x1, y1, x2, y2, x и y (като се гарантира, че x1 < x2 и y1 < y2). Да се отпечата “Border” (точката лежи на някоя от страните) или “Inside / Outside” (в противен случай). "
Тази задача нещо явно не мога да я проумея ... дава ми постоянно грешки в джъдж ... и освен тикчета и кръстчета дава даже и звездички:
Това е кода:
Най-накрая успях по обикновенния начин ... само с if else без сложни if- ове. Лошото на този метод май е че задължително трябва да знаеш от къде трябва да започнеш. Ако не ми беше наблегнал на това, че изпълнието на първата проверка ми спира проверките дали точката е вътре в правоъгълника, нямаше да се сетя да тръгна от там, за да изпише всички варианти.
http://pastebin.com/MPmXRtmX
Сега изглежда добре. Принципно може да съкратиш кода, като обединиш някой от проверките
x >= x1 && x <= x2 && y == y1 и x >= x1 && x <= x2 && y == y2 може да стане x >= x1 && x <= x2 && (y == y1 || y == y2)
И все пак и ти както си го записала е добре, понеже не е хубаво да се правят чак толкова сложни условни оператори, за да спестим има няма 2 реда :)
Мерси много.
За т.2 предположих, че може би е така, от отговорите на джъдж.
Относно т.1 в самото условие май пишеше, че това трябва да се гарантира. Ще прочета пак.
Основната ми грешка е по т.4 . Нещо съм се заблудила, мислех само за вариант ако точката е на границата, на очертанието на правоъгълника
т.3 също не съм я взела в предвид...