Предмет: Информатика,
автор: shaddo322
Напишите функцию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
Кстати, да, не обратил внимание на слово "прямоугольный". Добавил условие.
Похожие вопросы
Предмет: Литература,
автор: wzgok
Предмет: Окружающий мир,
автор: Аноним
Предмет: Биология,
автор: feruza96678
Предмет: Алгебра,
автор: alekseishlapak