Напишите функциюS(x1, y1, x2, y2, x3, y3), которая принимает коорди-
наты трёх точек на плоскости. Если они могут быть вершинами равно-
бедренного прямоугольного треугольника, то функция дает площадь тре-
угольника, в противном случае дает −1.
JavaScript
Ответы
Ответ дал:
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;
}
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
Кстати, да, не обратил внимание на слово "прямоугольный". Добавил условие.
Вас заинтересует
2 года назад
3 года назад
9 лет назад
10 лет назад