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

C++ में दी गई स्ट्रिंग से दिशा खोजें


मान लीजिए हमारे पास एक स्ट्रिंग है जिसमें केवल L और R हैं, यह क्रमशः बाएं घूर्णन और दाएं घूर्णन को दर्शाता है, हमें पिवट की अंतिम दिशा खोजनी है। यहां दिशाएं उत्तर (N), पूर्व (E), दक्षिण (S) और पश्चिम (W) हैं। हम मान रहे हैं कि पिवट कंपास में उत्तर (N) की ओर इंगित करता है।

उदाहरण के लिए, यदि इनपुट "RRLRLLR" है, तो आउटपुट E होगा, क्योंकि प्रारंभिक दिशा N है, RR दक्षिण (S) की ओर इंगित करेगा, फिर LR फिर से N की ओर इंगित करेगा, फिर LL पिछली स्थिति N की ओर इंगित करेगा, फिर R पूर्व (E) की ओर इंगित करेगा। इसलिए E अंतिम है।

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

  • काउंट := 0
  • डायरेक्शन := एक खाली स्ट्रिंग
  • i := 0 से s की लंबाई - 1 तक लूप करें:
    • यदि s[i] 'L' के बराबर है, तो काउंट घटाएं
    • अन्यथा काउंट बढ़ाएं
  • यदि काउंट > 0:
    • यदि काउंट % 4 == 0, तो डायरेक्शन := "N"
    • अन्यथा यदि काउंट % 4 == 1, तो डायरेक्शन := "E"
    • अन्यथा यदि काउंट % 4 == 2, तो डायरेक्शन := "S"
    • अन्यथा यदि काउंट % 4 == 3, तो डायरेक्शन := "W"
  • यदि काउंट < 0:
    • यदि काउंट % 4 == 0, तो डायरेक्शन := "N"
    • अन्यथा यदि काउंट % 4 == -1, तो डायरेक्शन := "W"
    • अन्यथा यदि काउंट % 4 == -2, तो डायरेक्शन := "S"
    • अन्यथा यदि काउंट % 4 == -3, तो डायरेक्शन := "E"
  • डायरेक्शन लौटाएं

उदाहरण

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

#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++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें C++ का उपयोग करके दिए गए बिंदुओं से संभावित चतुर्भुजों की संख्या ज्ञात करें

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

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

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

  1. - C++ में स्ट्रिंग की लंबाई खोजने का प्रोग्राम

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