Вычислить площадь пятиугольника - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите написать программу на Си.

Задача

: Найти площадь произвольного пятиугольника. Я сначала составлял алгоритм на листе бумаги, значит: я разбил пятиугольник на три треугольника, доказал что они вырожденные(тоесть существуют), нашел площадь каждого, а площадь самого пятиугольника это сумма 3 этих треугольников!

Решение задачи: «Вычислить площадь пятиугольника»

textual
Листинг программы
#include "stdafx.h"
#include <conio.h>
#include <iostream>
#include <math.h>
 
using std::cout;
using std::cin;
 
struct Point
{
    int x,y;
};
 
float square(Point p1,Point p2,Point p3)
{
    float A,B,C,P;
    A=sqrt(pow((p1.x-p2.x),2.)+pow((p1.y-p2.y),2.));
    B=sqrt(pow((p3.x-p2.x),2.)+pow((p3.y-p2.y),2.));
    C=sqrt(pow((p1.x-p3.x),2.)+pow((p1.y-p3.y),2.));
    P=(A+B+C)/2;
    return (float)sqrt(P*(P-A)*(P-B)*(P-C));
 
}
 
int main()
{
    float result=0.0;
    Point *myPoint=new Point[5];
    for(int i=0;i<5;i++)
    {
        cout<<"Enter point "<<(char)(65+i)<<"(x"<<i+1<<",y"<<i+1<<"):";
        cout<<"\n";
        cin>>myPoint[i].x>>myPoint[i].y;
    }
    for(int i=1;i<4;i++)
        result+=square(myPoint[1],myPoint[i],myPoint[i+1]);
    cout<<"\n\nSqare of this 5-ugolnik ="<<result;
    
    getch();
    return 0;
}

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

  1. #include stdafx.h Эта строка подключает заголовочный файл stdafx.h. Этот файл обычно содержит стандартные функции и объявления, которые используются в программе.
  2. #include Эта строка подключает заголовочный файл conio.h, который содержит функции для работы с консолью, такие как getch().
  3. #include Эта строка подключает заголовочный файл iostream, который содержит функции для ввода и вывода данных.
  4. #include Эта строка подключает заголовочный файл math.h, который содержит математические функции, такие как sqrt().
  5. using std::cout; Эта строка использует объект cout из пространства имен std.
  6. using std::cin; Эта строка использует объект cin из пространства имен std.
  7. struct Point Определяет структуру Point, которая представляет точку в двумерном пространстве.
  8. float square(Point p1,Point p2,Point p3) Это функция, которая вычисляет площадь треугольника, заданного тремя точками.
  9. int main() Это функция, которая является точкой входа в программу.
  10. for(int i=0;i<5;i++) Это цикл for, который выполняет пять итераций, каждая из которых соответствует одному вводу точки.
  11. cout<<Enter point<<(char)(65+i)<<(x<<i+1<<,y<<i+1<<):; Это строка выводит приглашение для ввода координат точки.
  12. cin>>myPoint[i].x>>myPoint[i].y; Это строка считывает координаты точки из консоли и сохраняет их в массиве myPoint.
  13. for(int i=1;i<4;i++) Это цикл for, который выполняет три итерации, каждая из которых соответствует одной стороне пятиугольника.
  14. result+=square(myPoint[1],myPoint[i],myPoint[i+1]); Это строка вычисляет площадь треугольника, заданного тремя точками, и добавляет ее к общей площади пятиугольника.
  15. cout<<\n\nSqare of this 5-ugolnik =<<result; Это строка выводит общую площадь пятиугольника.
  16. getch(); Это функция, которая приостанавливает выполнение программы и ожидает нажатия клавиши.
  17. return 0; Это строка завершает функцию main() и, следовательно, программу.
  18. using std::cout; Эта строка использует объект cout из пространства имен std.
  19. using std::cin; Эта строка использует объект cin из пространства имен std.
  20. *Point myPoint=new Point[5];** Эта строка создает массив myPoint типа Point с пятью элементами.

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


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

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

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