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

C++ में दिए गए तत्वों के सेट से संभावित आयत और वर्गों की संख्या


इस समस्या में, हमें N पूर्णांकों का एक ऐरे दिया गया है जो n छड़ियों की लंबाई को दर्शाता है। हमारा कार्य दिए गए लंबाई की छड़ियों से बनाए जा सकने वाले आयतों और वर्गों की संख्या प्रिंट करना है।

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

इनपुट - ऐरे = {5, 5, 7, 7, 1, 4}

आउटपुट - 1

व्याख्या - भुजाओं 5 5 7 7 वाला एक आयत।

इस समस्या को हल करने के लिए, हमें जांचना होगा कि आयत और वर्ग संभव हैं या नहीं।

अब, वर्ग या आयत बनाने के लिए, समान लंबाई की दो छड़ें होनी चाहिए, आयत के लिए 2 और वर्ग के लिए 4। अब, हमारे ऐरे में, हमें समान लंबाई की छड़ियों के जोड़े की जांच करनी होगी। इस खोज को आसान बनाने के लिए, हम ऐरे को सॉर्ट करेंगे और फिर जोड़े ढूंढेंगे और कुल जोड़े की संख्या का आधा वर्ग या आयत की संख्या होगी जो बनाए जा सकते हैं।

उदाहरण

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

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

int countRecSqr(int sticks[], int n) {
    sort(sticks, sticks + n);
    int pairs = 0;
    for (int i = 0; i < n - 1; i++) {
        if (sticks[i] == sticks[i + 1]) {
            pairs++;
            i++;
        }
    }
    return pairs / 2;
}

int main() {
    int sticks[] = {2, 2, 4, 4, 4, 4, 6, 6, 6, 7, 7, 9, 9};
    int n = sizeof(sticks) / sizeof(sticks[0]);
    cout << "बनाए जा सकने वाले वर्ग या आयतों की कुल संख्या है ";
    cout << countRecSqr(sticks, n);
    return 0;
}

आउटपुट

बनाए जा सकने वाले वर्ग या आयतों की कुल संख्या है 3
  1. C++ में दिए गए आकार के आयत के अंदर संभावित समचतुर्भुजों की संख्या गिनना C++ में दिए गए आकार के आयत के अंदर संभावित समचतुर्भुजों की संख्या गिनना

    हमें ऊंचाई × चौड़ाई आयामों वाला एक आयत दिया गया है। आयत को 2D निर्देशांक प्रणाली पर दर्शाया गया है जिसका निचला-बायाँ कोना बिंदु (0,0) पर है। लक्ष्य इस आयत के अंदर संभावित समचतुर्भुजों की संख्या गिनना है जो निम्न शर्तों को पूरा करते हैं: समचतुर्भुज का क्षेत्रफल 0 से अधिक हो। समचतुर्भुज के व

  1. C++ में विषम और सम संख्या में नोड्स वाले सभी स्तर प्रिंट करें C++ में विषम और सम संख्या में नोड्स वाले सभी स्तर प्रिंट करें

    इस समस्या में, हमें एक ट्री दिया गया है। और हमें उन सभी स्तरों को प्रिंट करना है जिनमें सम संख्या में नोड्स और विषम संख्या में नोड्स हैं। अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं आउटपुट - विषम संख्या में नोड्स वाले स्तर: 1, 3, 4 सम संख्या में नोड्स वाले स्तर: 2 व्याख्या - पहले स्तर म

  1. - C++ में LCM और HCF दिए जाने पर दूसरी संख्या ढूंढना

    मान लीजिए हमारे पास एक संख्या A है, और LCM और GCD मान हैं, हमें दूसरी संख्या B ढूंढनी है। यदि A = 5, LCM 25 है, HCF = 4, तो दूसरी संख्या 4 होगी। हम जानते हैं कि -$$A * B = LCM * HCF$$$$B = \frac{LCM * HCF}{A}$$उदाहरण#include <iostream> using namespace std; int anotherNumber(int A, int LCM, int