स्लीकर एल्गोरिदम का उपयोग करके बहुभुज के क्षेत्र को खोजने के लिए यहां एक सी ++ प्रोग्राम है जो बहुभुज के क्षेत्र को खोजने के लिए त्रिभुज से बचाता है।
यह सामान्य गणितीय परंपरा को मानता है कि धनात्मक y ऊपर की ओर इंगित करता है। कंप्यूटर सिस्टम में जहां सकारात्मक y नीचे की ओर है, सबसे आसान काम है कि "पॉजिटिव y डाउन" निर्देशांक का उपयोग करके काउंटर-क्लॉकवाइज को सूचीबद्ध किया जाए। सकारात्मक क्षेत्र बनाने के लिए दो प्रभावों को रद्द कर दिया गया।
कार्य और छद्म कोड
एल्गोरिदम
Begin function Area() is used to calculate area of a polygon take the polygon p as argument. for i = 0 to p.n-1 initialize j = (i + 1) % p.n; calculate t =t+((p.p[i].b * p.p[j].b) - (p.p[j].a * p.p[i].b.)) return t/2 End
उदाहरण कोड
#include <iostream> using namespace std; const int MAX = 200; class P// to declare variables { private: public: double a, b; }; class Polygon { private: public: P p[MAX]; int n; Polygon()//take the coordinates of each point of polygon { for (int i = 0; i < MAX; i++) P p[i]; } }; double Area(Polygon p)//area calculation { double t = 0; for (int i = 0; i < p.n; i++) { int j = (i + 1) % p.n; t += (p.p[i].b * p.p[j].b) - (p.p[j].a * p.p[i].b); } return t / 2; } int main(int argc, char **argv) { Polygon p; cout << "Enter the number of points in Polygon: "; cin >>p.n; cout << "Enter the coordinates of each point: "; for (int i = 0; i < p.n; i++) { cin >>p.p[i].a; cin >>p.p[i].b; } double a = Area(p); if (a >0)//if area>0 cout << "The Area of Polygon with " << p.n << " points using Slicker Algorithm is : " << a; else cout << "The Area of Polygon with " << p.n << " points using Slicker Algorithm is : " << (a * -1); }
आउटपुट
Enter the number of points in Polygon: 6 Enter the coordinates of each point: 1 1 2 2 3 3 4 4 5 5 6 7 The Area of Polygon with 6 points using Slicker Algorithm is : 2.5