Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ प्रोग्राम स्लीकर एल्गोरिथम को लागू करने के लिए जो एक बहुभुज के क्षेत्र को खोजने के लिए त्रिभुज से बचा जाता है

स्लीकर एल्गोरिदम का उपयोग करके बहुभुज के क्षेत्र को खोजने के लिए यहां एक सी ++ प्रोग्राम है जो बहुभुज के क्षेत्र को खोजने के लिए त्रिभुज से बचाता है।

यह सामान्य गणितीय परंपरा को मानता है कि धनात्मक 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

  1. C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    इस समस्या में, हमें दो मान दिए गए हैं जो समांतर चतुर्भुज के आधार और ऊंचाई को दर्शाते हैं। हमारा कार्य C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने के लिए एक प्रोग्राम बनाना है। समांतर चतुर्भुज एक चार भुजा बंद आकृति है जिसकी विपरीत भुजाएँ एक दूसरे के समान और समानांतर हैं। समस्या को समझने के लि

  1. C++ का प्रयोग करके दीर्घवृत्त का क्षेत्रफल ज्ञात करने का कार्यक्रम

    यहां हम देखेंगे कि C++ का उपयोग करके दीर्घवृत्त का क्षेत्रफल कैसे प्राप्त करें। अंडाकार के अलग-अलग हिस्से होते हैं। ये नीचे की तरह हैं। मुख्य बिंदु विवरण केंद्र दीर्घवृत्त का केंद्र। यह रेखा खंडों का भी केंद्र है जो दो फ़ॉसी को जोड़ता है। प्रमुख अक्ष दीर्घवृत्त का सबसे लंबा व्यास nmemb यह तत्व

  1. पायथन में बहुभुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    मान लीजिए कि हमारे पास ऑर्डर किए गए बिंदुओं की एक सूची है जो 2 डी विमान पर एक साधारण बहुभुज समापन बिंदु का प्रतिनिधित्व करती है। हमें इस बहुभुज का क्षेत्रफल ज्ञात करना है। इसलिए, यदि इनपुट अंक =[(0, 0), (0,5), (3, 5), (3,0)] की तरह है, तो आउटपुट 15 होगा। इसे हल करने के लिए, हम इन चरणों का पालन क