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