Begin21. Даны координаты трех вершин треугольника: $$(x_1, y_1)$$, $$(x_2, y_2)$$, $$(x_3, y_3)$$. Найти его периметр и площадь, используя формулу для расстояния между двумя точками на плоскости (см. задание Begin20. Для нахождения площади треугольника со сторонами $$a$$, $$b$$, $$c$$ использовать формулу Герона:
$$S =\sqrt{p*(p-a)*(p-b)*(p-c)}$$, где $$p=(a+b+c)/2$$ — полупериметр.
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#include <stdio.h> #include <math.h> int main(void) { float x1,y1; printf("x1:"); scanf ("%f", &x1); printf("y1:"); scanf ("%f", &y1); float x2,y2; printf("x2:"); scanf ("%f", &x2); printf("y2:"); scanf ("%f", &y2); float x3,y3; printf("x3:"); scanf ("%f", &x3); printf("y3:"); scanf ("%f", &y3); float a,b,c; a=sqrt(pow(x1-x2,2)+pow(y1-y2,2)); b=sqrt(pow(x2-x3,2)+pow(y2-y3,2)); c=sqrt(pow(x3-x1,2)+pow(y3-y1,2)); float S,p; p=(a+b+c)/2; S=sqrt(p*(p-a)*(p-b)*(p-c)); printf("S:%f\n",S); return 0; } |
Другие задачи из раздела Begin можно посмотреть здесь.
Комментарии: