Поиск площади многоугольника - C (СИ)
Формулировка задачи:
я не знаю как написать программу:
Многоугольник на плоскости задан целочисленными координатами N вершин в декартовой системе координат. Стороны многоугольника не соприкасаются (за исключением соседних - в вершинах) и не пересекаются. Найти площадь многоугольника.
Предусмотреть проверку входных данных на соответствие условиям задачи.
Решение задачи: «Поиск площади многоугольника»
textual
Листинг программы
#include <stdio.h> #include <math.h> struct point { int x; int y; }; void main() { int n,i; double S=0; point p[10]; printf("Vedit n="); scanf("%i",&n); for(i=0;i<n;i++) { printf("Vedit koordunatu verhunu %i:",i+1); scanf("%i",&p[i].x); scanf("%i",&p[i].y); } p[n]=p[0]; for(i=0;i<n;i++) { S=S+(p[i].x*p[i+1].y-p[i].y*p[i+1].x); } S=abs(S/2); printf("\nS=%f",S); }
Объяснение кода листинга программы
В этом коде выполняется поиск площади многоугольника по координатам вершин. Вот список действий, которые выполняются в коде:
- Считывание количества вершин многоугольника (n) с помощью функции scanf().
- Считывание координат каждой вершины многоугольника с помощью функции scanf().
- Последняя вершина многоугольника считывается дважды, чтобы обеспечить закрытую форму многоугольника.
- Вычисление площади многоугольника с помощью формулы Гаусса.
- Вывод площади многоугольника на экран с помощью функции printf().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д