Впаскале (pascal abc) выдает ошибку "нельзя преобразовать тип real к типу integer". как исправить? по нужно написать программу, которая определяет, принадлежит ли точка с координатами (х,у) треугольнику с вершинами в точках с координатами (х1,у1), (х2,у2), (х3,у3). программа: program _1; var x,y,x1,y1,x2,y2,x3,y3: real; begin write('введите координаты точки(х,у)'); read(x,y); write('введите координаты первой вершины треугольника(х1,у1)'); read(x1,y1); write('введите координаты второй вершины треугольника(х2,у2)'); read(x2,y2); write('введите координаты третьей вершины треугольника(х3,у3)'); read(x3,y3); if ((x-x2)/(x2--y2)/(y2-y1))< =0 and ((x-x3)/(x3--y3)/(y3-y2))< =0 and ((x-x3)/(x3--y3)/(y3-y1))> =0 then writeln('точка с введенными вами координатами принадлежит треугольнику') else writeln('точка с введенными вами координатами не принадлежит треугольнику'); end.

medi8 medi8    1   21.07.2019 09:50    0

Ответы
coco123321 coco123321  03.10.2020 09:33
Скобки добавьте
(((x-x2)/(x2-x1)-(y-y2)/(y2-y1))<=0)

and (((x-x3)/(x3-x2)-(y-y3)/(y3-y2))<=0)

and (((x-x3)/(x3-x1)-(y-y3)/(y3-y1))>=0)
ПОКАЗАТЬ ОТВЕТЫ
VerinaNice VerinaNice  03.10.2020 09:33
В строке с условиями не хватает скобок. Вот рабочий вариант вашей программы:
program _1;

var
  x, y, x1, y1, x2, y2, x3, y3: real;

begin
  write('Введите координаты точки(х,у)');read(x, y);
  write('Введите координаты первой вершины треугольника(х1,у1)');
  read(x1, y1);
  write('Введите координаты второй вершины треугольника(х2,у2)');
  read(x2, y2);
  write('Введите координаты третьей вершины треугольника(х3,у3)');
  read(x3, y3);
  if (((x - x2) / (x2 - x1) - (y - y2) / (y2 - y1)) <= 0) and (((x - x3) / (x3 - x2) - (y - y3) / (y3 - y2)) <= 0) and (((x - x3) / (x3 - x1) - (y - y3) / (y3 - y1)) >= 0)
    then writeln('Точка с введенными вами координатами принадлежит треугольнику') else writeln('Точка с введенными вами координатами не принадлежит треугольнику');
end.

Тестовое решение:
Введите координаты точки(х,у)5.2 4.7
Введите координаты первой вершины треугольника(х1,у1)1.1 2.1
Введите координаты второй вершины треугольника(х2,у2)8.3 9.1
Введите координаты третьей вершины треугольника(х3,у3)0.1 10.5
Точка с введенными вами координатами не принадлежит треугольнику
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика