marggooo1812, не берусь гарантировать, что код правильно работает на всех целых числах, ибо тестил только примитивные варианты.
Ну вы же не обозначили цену, т.ч. должны быть довольно говнокодом
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ГГ</title>
<style>
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
</head>
<body>
<label>x: </label>
<input type="text" id="x">
<label>y: </label>
<input type="text" id="y">
<input type="button" id="add" value="Добавить">
<input type="button" id="clear" value="Очистить" style="display:block; margin:20px;">
<input type="button" id="calc" value="Посчитать" style="display:block; margin:20px;">
<textarea id="output" rows="8" cols="40" style="display:block; margin:20px;">Периметры: | Площади:</textarea>
<script>
var add = document.querySelector('#add'),
clear = document.querySelector('#clear'),
calc = document.querySelector('#calc')
textarea = document.querySelector('textarea'),
x = document.getElementById('x'),
y = document.getElementById('y'),
points = [];
function isInteger(num) {
return (num ^ 0) === num;
}
function square(x){
return x*x;
}
add.onclick = function(){
if (isInteger(+x.value) && isInteger(+y.value)) {
points.push({
'x': x.value,
'y': y.value
});
x.value = "";
y.value = "";
console.log(points);
}
else {
alert('Введите обе координаты в виде целых чисел');
}
}
clear.onclick = function(){
points.length = 0;
textarea.innerHTML = "Периметры: | Площади:";
}
calc.onclick = function(){
if (points.length < 3)
alert("Слишком мало точек чтобы образовать треугольник");
var p,s,l1,l2,l3;
for (var i = 0; i < points.length; i++) {
for (var j = 0; j < i; j++) {
for (var k = 0; k < j; k++) {
if ((points[i]["x"] - points[k]["x"]) *
(points[j]["y"] - points[k]["y"]) -
(points[j]["x"] - points[k]["x"]) *
(points[i]["y"] - points[k]["y"]) == 0) continue;
l1 = Math.sqrt(square(points[j]["x"] - points[i]["x"]) + square(points[j]["y"] - points[i]["y"]));
l2 = Math.sqrt(square(points[k]["x"] - points[i]["x"]) + square(points[k]["y"] - points[i]["y"]));
l3 = Math.sqrt(square(points[j]["x"] - points[k]["x"]) + square(points[j]["y"] - points[k]["y"]));
console.log(l1);
p = l1 + l2 + l3;
console.log(p);
ss = p/2 * (p/2 - l1) * (p/2 - l2) * (p/2 - l3);
console.log(ss);
s = Math.sqrt(ss);
p = p.toFixed(2);
s = s.toFixed(2);
console.log(s);
textarea.innerHTML += "\r\n" + p.toString() + " | " + s.toString();
}
}
}
}
</script>
</body>
</html>