Loading...
ThePSXHive avatar ThePSXHive 436 Точки
Best Answer

Тази проверка

(point < first && point > second)

не обхваща случая в който първият край на отсечката е по-малък от зададената точка. Да, test case-а [10, 5, 7] е успешен, но [5, 10, 7] не минава, защото първата част на горната проверка се оценява като неистинна. Когато имаш конюнктивен израз от вида a & b, ако a притежава неистинна стойност, проверката се прекратява и b въобще не се разглежда. Затова програмата генерира неверния резултат "out". Решението - едно от тях - е да комбинираш първите две проверки в една, и да обхванеш всеки случаи с разположението на точките:

if (point <= first && point >= second || point >= first && point <= second)

 

1
17/12/2016 16:43:22
TvaOnova avatar TvaOnova 8 Точки

Ясно! Благодаря много!

0
v.saraminev avatar v.saraminev 5 Точки

Друго решение е да се направи проверка кое е по-малкото число (first) и кое по-голямото (second) и тогава да се проверява само :

(point >= first && point <= second)

 

 

0
AlucardDracula avatar AlucardDracula 416 Точки

опитах се да редактирам твоя код, но не успях да направя 100/100 само 90/100. тъй като в тези задачи няма нито ин/оут  + решението заповядай моето: 

http://pastebin.com/m0J37JGG

какво правя в кода: 

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

след като напрая това

2. взимам и  останалата точка Point и започвам да проверявам да ли е вътре или вънка и следователно отпечатвам резултатите.

   

0
TvaOnova avatar TvaOnova 8 Точки

Мерси :)

0
AniKafaldzhieva avatar AniKafaldzhieva 26 Точки

Може да погледнеш моя код. Дава ми 100/100. :)

http://pastebin.com/v9HKnQL1

0
g_todorov avatar g_todorov 106 Точки

Здравей колега,

1.да ми е по-лесно да си представя даденото в задачата наредих точките по големина отляво надясно, чрез "говорящи" променливи (var firstP и var secondP), които присвояват стойностите от конзолата.

2.Проверявам дали въпросната точка, която именувах Point се намира в интервала между firstP и secondP. В случай, че това е вярно - изпечатваме "in" и за понататъшните пресмятания се налага да декларираме в началото на кода още 2 променливи (firstDiff и secondDiff). В конкретния случай secondDiff пази стойност от разликата на втората точка и търсената точка (point), а firstDiff пази стойност от разликата на търсената точка (point) и първата точка от отсечката. С вложена if конструкция проверявам коя от разликите е по-малка по стойност - тя представлява най-късият път от интересуващата ни точка  до една от 2-те точки.

3.Ако въпросната точка не се намира в интервала между firstP и secondP конзолата изпечатва "out" и отново пресмята стойностите на разликите пазени от secondDiff и firstDiff, но този път с Math.Abs, за да не се получи отрицателно число. С вложен if проверяваме и изпечатваме по-малката по стойност разлика, която представлява най-късия път от интересуващата ни точка до една от двете точки, които са краища на отсечката.

ето и кода - работи коректно: http://pastebin.com/8Ph9WLpd

0
18/12/2016 15:46:59
Sim0o0na avatar Sim0o0na Trainer 567 Точки

За дълъг код във форума използвай pastebin!

1
g_todorov avatar g_todorov 106 Точки

Съжалявам - грешката е моя! Следващия път ще използвам pastebin!

Хубав ден от мен.

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