Задать вопрос
18 февраля, 01:34

Пусть даны вещественные числа x^1, x^2, x^3, y^1, y^2, y^3 принадлежит ли начало координат треугольнику с вершинами (x^1, y^1) (x^2, y^2) (x^3, y^3)

+5
Ответы (1)
  1. 18 февраля, 03:31
    0
    Var

    a:array[1 ... 3,1 ... 2]of real;

    b:array[1 ... 3]of real; / / массив для координат пересечения сторон с ОХ

    i, j, z:integer;

    / / (y1-y2) x + (x2-x1) y + (x1y2-x2y1) = 0 - ур-е прямой, прохоходящей через 2 точки

    / / тогда x = (x2y1-x1y2) / (y1-y2) - координата ее пересечения с осью х

    / / найдем координаты пересечения сторон с осью х

    function cross (x1, x2, y1, y2:real) : real;

    begin

    result: = (x2*y1-x1*y2) / (y1-y2);

    if ((result>x1) and (result>x2)) or ((result
    result:=1 / / это точка пересечения не самой стороны, а ее продолжения

    //поскольку в дальнейшем нам нужны будут знаки координат,

    //ей приписываем положительной значение, чтобы она не влияла

    //на конечный результат

    end;

    begin

    for i:=1 to 3 do

    begin

    writeln ('Введите координаты х, у вершины:');

    readln (a[i, 1], a[i, 2]);

    end;

    z:=1;

    for i:=1 to 3 do

    begin

    j:=i+1;

    if j>3 then j:=1;

    b[i]:=cross (a[i, 1], a[j, 1], a[i, 2], a[j, 2]);

    z:=sign (b[i]) * z;

    end;

    write ('Начало координат ');

    if z<0 then writeln ('принадлежит треугольнику')

    else writeln ('не принадлежит треугольнику');

    end.
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Пусть даны вещественные числа x^1, x^2, x^3, y^1, y^2, y^3 принадлежит ли начало координат треугольнику с вершинами (x^1, y^1) (x^2, y^2) ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы