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

C++ प्रोग्राम में नियमित N-भुज बहुभुज पर तीसरे व्यक्ति की स्थिति निर्धारित करें


इस ट्यूटोरियल में, हम सीखेंगे कि नियमित N-भुज बहुभुज पर तीसरे व्यक्ति की स्थिति कैसे खोजी जाए।

हमें एक नियमित N-भुज बहुभुज दिया गया है। और उस पर दो व्यक्ति पहले से ही दो अलग-अलग बिंदुओं पर हैं। हमारा कार्य तीसरे बिंदु को खोजना है ताकि पहले दो व्यक्तियों और तीसरे व्यक्ति के बीच की दूरी न्यूनतम हो।

समस्या को हल करने के चरण देखते हैं।

  • N और दो बिंदु A और B को इनिशियलाइज़ करें।

  • तीसरे व्यक्ति की स्थिति और न्यूनतम योग खोजने के लिए न्यूनतम योग को इनिशियलाइज़ करें।

  • 1 से N तक पुनरावृति करें।

    • यदि वर्तमान स्थिति A या B है, तो इसे छोड़ दें।

    • वर्तमान स्थिति और A, B के बीच निरपेक्ष अंतर का योग खोजें।

    • इसे न्यूनतम योग से तुलना करें।

    • यदि वर्तमान योग न्यूनतम योग से कम है, तो स्थिति और न्यूनतम योग अपडेट करें।

  • तीसरे व्यक्ति की स्थिति प्रिंट करें।

उदाहरण

कोड देखते हैं।

#include <bits/stdc++.h> using namespace std; int findThirdPersonStandingVertex(int N, int A, int B) {    int position = 0;    int minimum_sum = INT_MAX, sum;    for (int i = 1; i <= N; i++) {       // पूर्वनिर्धारित शीर्षों को छोड़ रहे हैं       if (i == A || i == B) {          continue;       }       else {          // वर्तमान शीर्ष से A और B तक की लंबाई          sum = abs(i - A) + abs(i - B);          // जांच रहे हैं कि क्या वर्तमान योग पिछले योग से कम है          if (sum < minimum_sum) {             // न्यूनतम योग और शीर्ष की स्थिति अपडेट कर रहे हैं             minimum_sum = sum;             position = i;          }       }    }    return position; } int main() {    int N = 7, A = 5, B = 7;    cout << "Vertex: " << findThirdPersonStandingVertex(N, A, B) << endl;    return 0; }

आउटपुट

यदि आप उपरोक्त प्रोग्राम निष्पादित करते हैं, तो आपको निम्न परिणाम मिलेगा।

Vertex: 6

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें कमेंट सेक्शन में बताएं।


  1. सबसे गहरे नोड्स के योग का प्रोग्राम C++ में सबसे गहरे नोड्स के योग का प्रोग्राम C++ में

    मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें इसके सबसे गहरे पत्तों के मानों का योग ढूंढना है। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - एक मैप m और maxDepth परिभाषित करें एक रिकर्सिव विधि solve() परिभाषित करें, यह नोड और लेवल लेगी, प्रारंभ में लेवल 0 है यदि नोड मौजूद नहीं है, तो लौटें maxDept

  1. बाइनरी ट्री के दाएं पत्तों के योग का प्रोग्राम C++ में बाइनरी ट्री के दाएं पत्तों के योग का प्रोग्राम C++ में

    मान लीजिए हमारे पास एक बाइनरी ट्री है हमें दिए गए बाइनरी ट्री में सभी दाएं पत्तों का योग ढूंढना है। इसलिए, यदि इनपुट जैसा है तो आउटपुट 17 होगा, क्योंकि बाइनरी ट्री में दो दाएं पत्ते हैं, जिनके मान 7 और 10 हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - एक फ़ंक्शन dfs() परिभाषित करें, यह नोड,

  1. - C++ प्रोग्राम दी गई संख्या के अंकों का योग करने के लिए

    C++ भाषा में अंकों का योग गणना करने का एक उदाहरण निम्नलिखिक है, उदाहरण #include<iostream> using namespace std; int main() {    int x, s = 0;    cout << "संख्या दर्ज करें: ";    cin >> x;    while (x != 0) {       s =