В декартовой системе координат прямоугольник задан координатами двух противоположных вершин.Для заданных точек определите лежат ли о ни внутри прямоугольника или на его границы решение паскаль
Answers & Comments
smnoregrets
Паскаль не помню, но как решить задачу могу объяснить.
дано две противоположенные вершины прямоугольника (x1,y1) и (x2,y2) прямоугольник при этом будет ровно один
проверка на принадлежность точки этому прямоугольнику проста
пусть x,y -это координаты точки
вначале надо проверить кто больше x1 или x2, и y1 или y2 if (x1>x2) { rx1 = x2; rx2 = x1; } else { rx1 = x1; rx2 = x2; } if (y1>y2) { ry1 = y2; ry2 = y1; } else { ry1 = y1; ry2 = y2; }
if (x>rx1) and (x<rx2) and (y>ry1) and (y<ry2) { точка с координатами X, Y лежит внутри прямоугольника. }
if (x=rx1) or (x=rx2) or (y=ry1) or (y=ry2) { точка с координатами X, Y лежит на одной из граней прямоугольника. }
Теперь осталось написать
PROGRAM BEGIN readln(координаты) проверки writeln(ответ) END.
1 votes Thanks 3
srzontmp
По двум заданным вершинам прямоугольника Вы найдете координаты двух других, если больше НИЧЕГО не задано ? Тогда напишите заявку в комитет по Нобелевским премиям, до Вас такую задачу никто не решал. Может Вам Нобелевскую премию дадут. Погуляем!!!
srzontmp
А кто Вам сказал, что стороны прямоугольника параллельны осям координат? В условии задачи этого нет. Точки (1;1) (5;7) (0;6) (6;2) тоже образуют прямоугольник с двумя заданными точками (1;1) и (5;7), или это не понятно? Тогда тяжелый случай.
smnoregrets
в школьном паскале прямоугольники параллельны осям
Answers & Comments
дано две противоположенные вершины прямоугольника
(x1,y1) и (x2,y2)
прямоугольник при этом будет ровно один
проверка на принадлежность точки этому прямоугольнику проста
пусть x,y -это координаты точки
вначале надо проверить кто больше x1 или x2, и y1 или y2
if (x1>x2) {
rx1 = x2; rx2 = x1;
} else {
rx1 = x1; rx2 = x2;
}
if (y1>y2) {
ry1 = y2; ry2 = y1;
} else {
ry1 = y1; ry2 = y2;
}
if (x>rx1) and (x<rx2) and (y>ry1) and (y<ry2) {
точка с координатами X, Y лежит внутри прямоугольника.
}
if (x=rx1) or (x=rx2) or (y=ry1) or (y=ry2) {
точка с координатами X, Y лежит на одной из граней прямоугольника.
}
Теперь осталось написать
PROGRAM
BEGIN
readln(координаты)
проверки
writeln(ответ)
END.