Показать сообщение отдельно
Старый 13.02.2008, 12:56   #239
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
d1:=sqrt((ax-bx)*(ax-bx)+(ay-by)*(ay-by)); // 1-я сторона (длина)
d2:=sqrt((cx-bx)*(cx-bx)+(cy-by)*(cy-by)); // 2-я сторона (длина)
d3:=sqrt((ax-cx)*(ax-cx)+(ay-cy)*(ay-cy)); // 3-я сторона (длина)
per:=(d1+d2+d3)/2; // полуппериметр
Result:=Round(sqrt(per*(per-d1)*(per-d2)*(per-d3))); // считаем площадь
end;
Без всего этого можно обойтись и только целочисленной математикой, ищи алгоритмы целочисленной геометрии в интернете.
  Ответить с цитированием