Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Задача 3:
- //Найти площадь много угольника по известным координатам его
- //вершин. Использовать функции из первой и второй задач
- #include <stdio.h>
- #include <stdlib.h>
- double dist (int x1, int y1, int x2, int y2) {
- double d=sqrt(((x2-x1)*(x2-x1))+((y2-y1)*(y2-y1)));
- return d;
- }
- double f_area (double d1, double d2, double d3) {
- double p=(d1+d2+d3)/2;
- double s=sqrt(p*(p-d1)*(p-d2)*(p-d3));
- return s;
- }
- int main()
- {
- int k, x1, y1, x2, y2, x3, y3, x4, y4;
- scanf("%d", &k);
- k=k-3;
- scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
- double d1=dist(x1, y1, x2, y2);
- scanf("%d%d", &x3, &y3);
- double d2=dist(x2, y2, x3, y3);
- double d3=dist(x1, y1, x3, y3);
- double sum_area=0, area;
- area=f_area(d1, d2, d3);
- sum_area=sum_area+area;
- int i;
- for (i=1; i<=k; i++) {
- scanf("%d%d", &x4, &y4);
- double d4=dist(x1, y1, x4, y4);
- double d5=dist(x4, y4, x3, y3);
- area=f_area(d3, d5, d4);
- sum_area=sum_area+area;
- d3=d4;
- x3=x4;
- y3=y4;
- }
- printf("%lf", sum_area);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement