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

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

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

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

आइए समस्या को हल करने के लिए चरणों को देखें।

  • एन और दो बिंदुओं ए और बी को प्रारंभ करें।

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

  • 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++) {
      // skipping the predefined vertices
      if (i == A || i == B) {
         continue;
      }
      else {
         // length between the current vertext to A and B
         sum = abs(i - A) + abs(i - B);
         // checking whether the current sum is less than previous sum
         if (sum < minimum_sum) {
            // updating the minimum sum and position of vertext
            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. सी ++ में सबसे गहरे नोड्स का योग खोजने का कार्यक्रम

    मान लीजिए हमारे पास एक बाइनरी ट्री है; हमें इसकी सबसे गहरी पत्तियों के मूल्यों का योग ज्ञात करना होगा। तो अगर पेड़ जैसा है - तब आउटपुट 11 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - मानचित्र m, और maxDepth . को परिभाषित करें एक पुनरावर्ती विधि हल करें () को परिभाषित करें, यह नोड

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

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

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

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