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

C++ में आयत क्षेत्र


मान लीजिए कि हम 2D समतल में दो आयताकार आयतों द्वारा कवर किए गए कुल क्षेत्रफल को ज्ञात करना चाहते हैं। यहाँ प्रत्येक आयत को उसके निचले बाएँ कोने और ऊपरी दाएँ कोने से परिभाषित किया गया है जैसा कि चित्र में दिखाया गया है।

C++ में आयत क्षेत्र

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • अगर सी =ई या ए>=जी या बी>=एच या डी <=एफ, तो

    • वापसी (सी - ए) * (डी - बी) + (जी - ई) * (एच - एफ)

  • एक सरणी h परिभाषित करें, A, C, E, G को h में डालें

  • एक सरणी v परिभाषित करें, B, D, F, H को v में डालें

  • एच ऐरे को सॉर्ट करें और वी ऐरे को सॉर्ट करें

  • अस्थायी:=(एच[2] - एच[1]) * (वी[2] - वी[1])

  • कुल:=अस्थायी

  • कुल:=कुल + (सी - ए) * (डी - बी)

  • कुल :=कुल + (जी-ई) * (एच-एफ)

  • कुल वापसी

उदाहरण(C++)

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

#include <bits/stdc++.h>
using namespace std;
class Solution {
   public:
   int computeArea(int A, int B, int C, int D, int E, int F, int G, int H) {
      if(C <= E || A >= G || B >= H || D <= F) return (C - A) * (D - B) + (G - E) * (H - F);
      vector <int> h;
      h.push_back(A);
      h.push_back(C);
      h.push_back(E);
      h.push_back(G);
      vector <int> v;
      v.push_back(B);
      v.push_back(D);
      v.push_back(F);
      v.push_back(H);
      sort(h.begin(), h.end());
      sort(v.begin(), v.end());
      long long int temp = (h[2] - h[1]) * (v[2] - v[1]);
      long long int total = - temp;
      total += (C - A) * (D - B);
      total += (G - E) * (H - F);
      return total;
   }
};
main(){
   Solution ob;
   cout << (ob.computeArea(-3, 0, 3, 4, 0, -1, 9, 2));
}

इनपुट

-3
0
3
4
0
-1
9
2

आउटपुट

45

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

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

  1. C++ में एक समांतर चतुर्भुज के अंदर एक त्रिभुज का क्षेत्रफल

    एक आकृति का क्षेत्रफल द्वि-आयामी तल में आकृति की सीमा है। त्रिकोण तीन भुजाओं वाला बहुभुज है। समांतर चतुर्भुज एक चतुर्भुज है जिसकी सम्मुख भुजाएँ समान और समानांतर हैं। इस कार्यक्रम में, हमारे पास इसके आधार और ऊंचाई के साथ एक समांतर चतुर्भुज है और इसने एक त्रिभुज को उसी आधार पर अंकित किया है जो सम

  1. C++ में एक वर्ग के एक परिचालित वृत्त का क्षेत्रफल

    इस समस्या में, जब हमें वर्ग की भुजा दी जाती है, तो हम एक वर्ग के परिबद्ध वृत्त के क्षेत्रफल की गणना करेंगे। इससे पहले कि हम आगे बढ़ें, आइए अवधारणाओं को बेहतर ढंग से समझने के लिए बुनियादी परिभाषाओं को संशोधित करें। वर्ग एक चतुर्भुज है जिसकी सभी भुजाएँ समान हैं। परिक्रमा चक्र एक वृत्त बहुभुज के सभी