Loading...
Pafo37 avatar Pafo37 21 Точки

Point in a circle

Понеже не разбрах точно условието на задачата,кое ми е дадено и кое не,написах програма, която въвежда всичко.Искам да разбера дали  е вярна - ето кода   http://pastebin.com/Tg5wBcPb .Програмата работи, но логиката ми може да е грешна.

Тагове:
0
Programming Basics
Filkolev avatar Filkolev 4482 Точки

Радиуса няма как да го сметнеш, една окръжност се дефинира от нейния център и радиус (в случая). Т.е. радиуса също трябва да го получиш като вход.

Друго, което трябва да съобразиш в зависимост от условието, е дали самата окръжност е част от кръга, т.е. проверката накрая дали включва равенство или не. Иначе изглежда вярна програмата.

Може малко да подобриш имената на променливите, примерно xc -> centerX.

0
Pafo37 avatar Pafo37 21 Точки

Демек от формулата която съм написал и след това <r*r ,трябва да добавя <= ,така ли?

0
Filkolev avatar Filkolev 4482 Точки

Зависи какво е казано в условието, но обикновено равенството се включва и проверката е <= r * r

0
Pafo37 avatar Pafo37 21 Точки

Write an expression that checks if given point (xy) is inside a circle K({0, 0}, 2) .Това е условието,ако може да ми обясните circle K({00}, какво означава.Аз разбирам координати х и у с радиус 2.

0
Filkolev avatar Filkolev 4482 Точки

Точно така, координатите на центъра са (0, 0), а радиусът е 2.

0
gkyupev avatar gkyupev 11 Точки

Правилно си разбрал.

0
AleksandurSeferinkin avatar AleksandurSeferinkin 333 Точки

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

Всяка точка, която е на разстояние по-голямо от радиуса на окръжността, се намира извън нейната повърхност. Сиреч: 
bool isInside = (x- xc) *(x- xc) + (y- yc) * (y- yc) <= r*r;

0
02/12/2015 12:46:06
Pafo37 avatar Pafo37 21 Точки

Програмата не работи правилно от снимката, която съм предоставил, след забележките от колеги я оправих.

0
valcho62 avatar valcho62 178 Точки

Точно това означава. Даден ни е центъра на кръга и радиуса. Хората са ни дали и картинка ;-) Единственно спорно е дали  inside включва границата.

0
AleksandurSeferinkin avatar AleksandurSeferinkin 333 Точки

"Единственно спорно е дали  inside включва границата."

Това се опитах да обясня. Граница се определя като всички точки в окръжността, които са най-далече от центъра. Повърхността на окръжността свършва там, където свършва радиуса.

Не е възможно част от радиуса да се намира извън окръжността. Не виждам кое е спорното в подобен факт. :D

Ако радиуса е 5см, значи най-далечната точка в окръжността ще бъде на 5см от центъра й. Защото ако допуснем, че най-далечната точка ще е на 4.9 см от центъра, значи 0.1 см от радиуса се намира извън окръжността, надявам се схващате логиката. :)

0
valcho62 avatar valcho62 178 Точки

Съгласен съм с теб. Даже и в примерите има една точка на ръба и тя се смята вътре.

Аз решавах една задача за телепортация в определена зона. Там тънкото беше, че не може да се телепортираш в стената и трябваше да се изключи границата на зоната ;-))

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