найти ошибку. Даны координаты трех вершин треугольника (x1,y1), (x2,y2), (x3,y3). Найти его периметр и площадь.
Входной формат: Три пары целых чисел - координаты вершин треугольника
Выходной формат: Два вещественных числа - периметр и площадь.
Примеры: Ввод: 0 0 3 0 3 4 Выход: 12.0 6.0
Написал такой код:
#include
#include
int main () {
int x1,x2,x3,y1,y2,y3,a,b,c;
float p,s,p2;
scanf("%i %i %i %i %i %i",&x1,&y1,&x2,&y2,&x3,&y3);
a=sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));
b=sqrt(((x2-x3)*(x2-x3))+((y2-y3)*(y2-y3)));
c=sqrt(((x3-x1)*(x3-x1))+((y3-y1)*(y3-y1)));
p=a+b+c;
p2=p/2;
s=sqrt(p2*(p2-a)*(p2-b)*(p2-c));
printf("%.1f %.1f",p,s);
}
А проверяющая система пишет, неправильный ответ. Хотя ответ выводит такой же.