Найти площадь выпуклого многоугольника, если даны координаты вершин многоугольника
найти площадь выпуклого многоугольника если даны координаты вершин многоугольника
|
Цитата:
|
Новенький
прости, я тут новенький)
я просто очень торопился и тороплюсь до сих пор! думал вы мне поможете, а тут.. |
Цитата:
|
Я вроде оставил в разделе Pascal
Собственно , нужно в паскале. Мне нужно написать программу н-угольника( и к тому же нарисовать его). Благодарен тому, кто мне поможет! |
Цитата:
Господи, как же иногда с вами трудно - стараешься помочь, так в ответ на резонное предложение четко сформулировать задание с указанием языка и призыв соблюдать хотя бы начала элементарной вежливости получаешь огрызания, обиды, вставание в позу оскорбленной добродетели и всё такое прочее. Ладно. Вот Вам Ваша программа. А уж графическую часть с рисованием многоугольника - соблаговолите сами. Вели бы себя по-человечески - я бы Вам и это сделал, а так - увольте. Некоторые пояснения: 1. Вводится число вершин (N). 2. Вводятся координаты вершин - массивы X и Y. 3. Ищутся длины сторон - массив L. 4. Если фигура - треугольник, то ищется площадь по формуле Герона и на этом всё заканчивается, если же нет - то выполняются следующие пункты. 5. Находятся координаты произвольной точки, находящейся заведомо внутри многоугольника (Xp, Yp). В программе за таковую взята середина отрезка, соединяющего вершины 1 и 3. 6. Указанная точка соединяется отрезками со всеми вершинами. Находятся длины всех этих отрезков - массив C. 7. Суммируются площади всех треугольников, образованных парой смежных отрезков и стороной многоугольника между вершинами, на которые эти смежные отрезки опираются. 8. Выводится результат. Код:
var |
Здравствуйте, Владимир. Не могли бы вы мне помочь такого же рода заданием только на Delphi.
|
var A, B: Array of TPoint;
i: Integer; n: Integer; S, P: Real; x0, y0: Integer; begin n :=Strtoint(Edit1.Text); // кол-во углов S := 0; P := 0; x0 := ClientWidth div 2; y0 := ClientHeight div 2; SetLength(A, n); SetLength(B, n); // кординаты ..........возможно ли координаты сделать динамическими??? A[0].X := 0; A[0].Y := 0; A[1].X := 0; A[1].Y := 3; A[2].X := 1; A[2].Y := 4; A[3].X := 3; A[3].Y := 0; A[4].X := 2; A[4].Y := -3; A[5].X := 1; A[5].Y := -5; |
Цитата:
|
Часовой пояс GMT +4, время: 05:14. |
Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.