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

C++ में दिए गए स्ट्रिंग से दिशा ज्ञात करें

मान लीजिए कि हमारे पास एक स्ट्रिंग है जिसमें केवल एल और आर है, यह क्रमशः बाएं रोटेशन और दाएं रोटेशन को दर्शाता है, हमें धुरी की अंतिम दिशा का पता लगाना है। यहां दिशाएं उत्तर (एन), पूर्व (ई), दक्षिण (एस) और पश्चिम (डब्ल्यू) हैं। हम मान रहे हैं कि धुरी एक कंपास में उत्तर (एन) की ओर इशारा करती है।

इसलिए, यदि इनपुट "आरआरएलआरएलएलआर" जैसा है, तो आउटपुट ई होगा, क्योंकि प्रारंभिक दिशा एन है, आरआर एस को इंगित करेगा, फिर एलआर उसी एन को फिर से इंगित करेगा, फिर एलएल पिछली स्थिति एन को इंगित करेगा, फिर R, E को इंगित करेगा। इसलिए E अंतिम है।

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

  • गिनती :=0

  • दिशा :=एक खाली स्ट्रिंग

  • इनिशियलाइज़ i :=0 के लिए, जब i - s की लंबाई, अपडेट (i से 1 की वृद्धि), करें -

    • यदि s[i] 'L' के समान है, तो -

      • (गिनती 1 से घटाएं)

    • अन्यथा

      • (1 से गिनती बढ़ाएं)

  • अगर गिनती> 0, तो -

    • यदि काउंट मॉड 4 0 के समान है, तो -

      • दिशा:="एन"

    • अन्यथा जब काउंट मॉड 4 1 के समान हो, तो -

      • दिशा:="ई"

    • अन्यथा जब काउंट मॉड 4 2 के समान हो, तो -

      • दिशा:="एस"

    • अन्यथा जब काउंट मॉड 4, 3 के समान हो, तब -

      • दिशा:="डब्ल्यू"

  • अगर गिनती <0, तो -

    • यदि काउंट मॉड 4 0 के समान है, तो -

      • दिशा:="एन"

    • अन्यथा जब काउंट मॉड 4 -1 के समान हो, तो -

      • दिशा:="डब्ल्यू"

    • अन्यथा जब काउंट मॉड 4 -2 के समान हो, तो -

      • दिशा:="एस"

    • इसी तरह जब काउंट मॉड 4 -3 के समान होता है, तो -

      • दिशा:="ई"

  • वापसी की दिशा

उदाहरण

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

#include<bits/stdc++.h>
using namespace std;
string get_dir(string s) {
   int count = 0;
   string direction = "";
   for (int i = 0; i < s.length(); i++){
      if (s[0] == '\n')
         return NULL;
      if (s[i] == 'L')
         count--;
      else
         count++;
   }
   if (count > 0){
      if (count % 4 == 0)
         direction = "N";
      else if (count % 4 == 1)
         direction = "E";
      else if (count % 4 == 2)
         direction = "S";
      else if (count % 4 == 3)
         direction = "W";
   }
   if (count < 0){
      if (count % 4 == 0)
         direction = "N";
      else if (count % 4 == -1)
         direction = "W";
      else if (count % 4 == -2)
         direction = "S";
      else if (count % 4 == -3)
         direction = "E";
   }
   return direction;
}
int main() {
   string s = "RRLRLLR";
   cout << (get_dir(s));
}

इनपुट

"RRLRLLR"

आउटपुट

E

  1. C++ का प्रयोग करते हुए दिए गए बिंदुओं से संभव चतुर्भुजों की संख्या ज्ञात कीजिए

    एक चतुर्भुज यूक्लिडियन समतल ज्यामिति में चार शीर्षों और चार किनारों वाला एक बहुभुज बनाता है। नाम 4-गॉन आदि। चतुर्भुज के अन्य नामों में शामिल हैं और कभी-कभी उन्हें एक वर्ग, प्रदर्शन शैली आदि के रूप में भी जाना जाता है। इस लेख में, हम दिए गए बिंदुओं से संभव चतुर्भुजों की संख्या का पता लगाने के तरीकों

  1. सी ++ में ग्रिड में दी गई दिशा में संभावित चालों की गणना करें

    हम दो चर n और m हैं जो n x m आकार के ग्रिड का प्रतिनिधित्व करते हैं और प्रारंभिक बिंदु x, y से शुरू करते हैं। कदमों/चालों के जोड़े भी दिए गए हैं जिन्हें चाल ((1,1), (2,2)) आदि के रूप में ग्रिड के अंदर ले जाया जा सकता है। चालों की प्रत्येक जोड़ी x,y अक्ष में उठाए गए कदमों की इकाई का प्रतिनिधित्व करत

  1. सी ++ प्रोग्राम एक स्ट्रिंग की लंबाई का पता लगाने के लिए

    एक स्ट्रिंग एक आयामी वर्ण सरणी है जिसे एक शून्य वर्ण द्वारा समाप्त किया जाता है। स्ट्रिंग की लंबाई शून्य वर्ण से पहले स्ट्रिंग में वर्णों की संख्या है। उदाहरण के लिए। char str[] = “The sky is blue”; Number of characters in the above string = 15 एक स्ट्रिंग की लंबाई ज्ञात करने के लिए एक