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

C++ . में समान आकार

इस समस्या में, हमें एक बहुभुज के निर्देशांक दिए गए हैं। हमारा काम यह जांचने के लिए एक प्रोग्राम बनाना है कि दिया गया पॉलीगॉन बराबर है या नहीं।

समान आकार वह आकार है जिसका परिमाप आकृति के क्षेत्रफल के बराबर है।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट: बहुभुज [] [] ={{0, 0}, {5, 7}, {2, 0}}

आउटपुट: बराबर नहीं

स्पष्टीकरण:

परिमाप =18.21
क्षेत्रफल =7

समाधान दृष्टिकोण:

समस्या का समाधान आकार के क्षेत्रफल और परिधि को खोजने में निहित है और फिर मौसम की जांच के लिए दोनों की तुलना करके दी गई आकृति एक समान आकार है या नहीं।

निर्देशांक का उपयोग करके परिधि ढूँढना सरल है। हमें बस निर्देशांक का उपयोग करके लंबाई खोजने और परिधि खोजने की जरूरत है,

परिमाप =भुजा1 + भुजा2 + भुजा3

निर्देशांक का उपयोग करके क्षेत्रफल ज्ञात करने के लिए सूत्र का उपयोग किया जाता है,

क्षेत्रफल =1/2 {(x_1 y_2+ x_2 y_3 + ....x_(n-1) y_n + x_n y_1 ) - (x_2 y_1 + x_3 y_2 + ....+ x_n y_(n-1) + x_1 n )}

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <bits/stdc++.h>
using namespace std;

double findShapeArea(double cord[][2], int n)
{
   double area = 0.0;
   int j = n - 1;
   for (int i = 0; i < n; i++) {
      area += (float)(cord[j][0] + cord[i][0]) * (cord[j][1] - cord[i][1]);
      j = i;
   }

   return abs(area / 2.0);
}

double findShapeperimeter(double cord[][2], int n) {
   
   double perimeter = 0.0;
   int j = n - 1;
   for (int i = 0; i < n; i++) {
      perimeter += sqrt((cord[j][0] - cord[i][0]) * (cord[j][0] - cord[i][0]) + (cord[j][1] - cord[i][1]) * (cord[j][1] - cord[i][1]));
      j = i;
   }
   return perimeter;
}

int isEquableShape(double cord[][2], int n)
{
   int area = findShapeArea(cord, n);
   int peri = findShapeperimeter(cord, n);
   cout<<"The area of the given shape is "<<area<<endl;
   cout<<"The perimeter of the given shape is "<<peri<<endl;
   if (area == peri)
      return 1;
   else
      return 0;
}

int main() {
   
   int n = 3;
   double cord[n][2] = {{0, 0} , {5, 7}, {2, 0}};
   if (isEquableShape(cord, n))
      cout<<"The given shape is an equable shape";
   else
      cout<<"The given shape is not an equable shape";
   return 0;
}

आउटपुट -

The area of the given shape is 7
The perimeter of the given shape is 18
The given shape is not an equable shape

  1. माइक्रोसॉफ्ट वर्ड में कैसे ड्रा करें

    हालाँकि Microsoft Word पहला ड्राइंग टूल नहीं हो सकता है, जिसके बारे में आप सोचते हैं, इसके ड्राइंग टूल इसकी अल्प-ज्ञात विशेषताओं में से हैं जो सीखने में आसान और उपयोग में आसान हैं। ये आरेखण उपकरण विभिन्न आकृतियों और रूपों में आते हैं जिनमें तीर, बैनर, कॉलआउट, वर्ग, वृत्त, तारे और फ़्लोचार्ट आकार शा

  1. Linux पर c++ के लिए शीर्ष IDE क्या है?

    केवल टेक्स्ट एडिटर्स पर बड़े प्रोजेक्ट्स को मैनेज करना मुश्किल है। यदि आप ऐसे मामलों में आईडीई का उपयोग करते हैं तो आप अधिक उत्पादक और कम निराश होने की संभावना रखते हैं। विभिन्न प्रकार के आईडीई हैं और आपको अपनी आवश्यकताओं के अनुरूप सही का चयन करना चाहिए। यहाँ Linux के लिए सर्वश्रेष्ठ C/C++ IDE की सू

  1. विंडो पर c++ के लिए शीर्ष IDE क्या है?

    केवल टेक्स्ट एडिटर्स पर बड़े प्रोजेक्ट्स को मैनेज करना मुश्किल है। यदि आप ऐसे मामलों में आईडीई का उपयोग करते हैं तो आप अधिक उत्पादक और कम निराश होने की संभावना रखते हैं। विभिन्न प्रकार के आईडीई हैं और आपको अपनी आवश्यकताओं के अनुरूप सही का चयन करना चाहिए। यहां विंडो के लिए सर्वश्रेष्ठ C/C++ IDE की सू