Поиск площади многоугольника - 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);
}

Объяснение кода листинга программы

В этом коде выполняется поиск площади многоугольника по координатам вершин. Вот список действий, которые выполняются в коде:

  1. Считывание количества вершин многоугольника (n) с помощью функции scanf().
  2. Считывание координат каждой вершины многоугольника с помощью функции scanf().
  3. Последняя вершина многоугольника считывается дважды, чтобы обеспечить закрытую форму многоугольника.
  4. Вычисление площади многоугольника с помощью формулы Гаусса.
  5. Вывод площади многоугольника на экран с помощью функции printf().

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы