Принадлежит ли точка с координатами ( х,у) области треугольника авс, где(x1,,,y3) . нужно написать программу для кубэсика.. , . мне нужно(

MurMraz1 MurMraz1    1   29.06.2019 13:10    1

Ответы
Полина2684 Полина2684  02.10.2020 15:07
qBASIC:
DECLARE FUNCTION L# (x1#, y1#, x2#, y2#)
DECLARE FUNCTION s3# (x1#, y1#, x2#, y2#, x3#, y3#)
CLS
INPUT "Координаты точки А через запятую: ", ax#, ay#
INPUT "Координаты точки B через запятую: ", bx#, by#
INPUT "Координаты точки C через запятую: ", cx#, cy#
INPUT "Координаты точки m через запятую: ", mx#, my#
s# = s3#(ax#, ay#, bx#, by#, cx#, cy#)
sab# = s3#(ax#, ay#, bx#, by#, mx#, my#)
sbc# = s3#(bx#, by#, cx#, cy#, mx#, my#)
sca# = s3#(cx#, cy#, ax#, ay#, mx#, my#)
eps# = s# - (sab# + sbc# + sca#)
eps% = INT(eps# * 10000) / 10000
IF eps% = 0 THEN PRINT "Внутри" ELSE PRINT "Не внутри"
END

FUNCTION L# (x1#, y1#, x2#, y2#)
   L# = SQR((x2# - x1#) ^ 2 + (y2# - y1#) ^ 2)
END FUNCTION

FUNCTION s3# (x1#, y1#, x2#, y2#, x3#, y3#)
   a# = L#(x1#, y1#, x2#, y2#)
   b# = L#(x2#, y2#, x3#, y3#)
   c# = L#(x3#, y3#, x1#, y1#)
   p# = (a# + b# + c#) / 2
   s3# = SQR(p# * (p# - a#) * (p# - b#) * (p# - c#))
END FUNCTION

Тестовое решение:
Координаты точки А через запятую: 2,1
Координаты точки B через запятую: 15,10
Координаты точки C через запятую: 12,4
Координаты точки m через запятую: 9,5
Внутри
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика