Напишите функциюS(x1, y1, x2, y2, x3, y3), которая принимает коорди- наты трёх точек **...

0 голосов
70 просмотров

Напишите функциюS(x1, y1, x2, y2, x3, y3), которая принимает коорди-
наты трёх точек на плоскости. Если они могут быть вершинами равно-
бедренного прямоугольного треугольника, то функция дает площадь тре-
угольника, в противном случае дает −1.
JavaScript


Информатика (14 баллов) | 70 просмотров
Дан 1 ответ
0 голосов

Function S(x1, y1, x2, y2, x3, y3) {
  var
    a = Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2)),
    b = Math.sqrt(Math.pow(x2 - x3, 2) + Math.pow(y2 - y3, 2)),
    c = Math.sqrt(Math.pow(x3 - x1, 2) + Math.pow(y3 - y1, 2));
  if ((a == b || b == c || c == a) && (a*a+b*b == c*c || b*b+c*c == a*a || c*c+a*a == b*b)) {
    var p = (a + b + c) / 2;
    return Math.sqrt(p * (p - a) * (p - b) * (p - c));
  }
  else return -1;
}

0

Под эту программу подойдет любой равнобедренный треугольник, а не только прямоугольный.

0

Кстати, да, не обратил внимание на слово "прямоугольный". Добавил условие.