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

यह जांचने के लिए C++ में एक प्रोग्राम लिखें कि क्या किसी अन्य स्ट्रिंग को दो स्थानों पर घुमाकर एक स्ट्रिंग प्राप्त की जा सकती है

मान लीजिए हमने दो तार 'ए' और 'बी' दिए हैं, तो कार्य यह पता लगाना है कि क्या हम स्ट्रिंग 'ए' को दो स्थानों पर वामावर्त या दक्षिणावर्त दिशा में घुमाकर स्ट्रिंग 'बी' प्राप्त कर सकते हैं। उदाहरण के लिए,

इनपुट-1 -

a = google
b = legoog

आउटपुट -

True

स्पष्टीकरण - स्ट्रिंग 'गूगल' को घड़ी की विपरीत दिशा में दो स्थानों पर घुमाया जा सकता है, जिसके परिणामस्वरूप स्ट्रिंग 'लेगोग' बन जाती है। इस प्रकार, हम ट्रू लौटते हैं।

इनपुट-2 -

a = tuorialst
b = tutorials

आउटपुट -

False

स्पष्टीकरण - एक और स्ट्रिंग 'ट्यूटोरियल' प्राप्त करने के लिए स्ट्रिंग 'ट्यूरियलस्ट' को किसी भी दिशा में दो स्थानों से घुमाया नहीं जा सकता है। इस प्रकार, हम झूठी वापसी करते हैं।

इस समस्या को हल करने के लिए इस्तेमाल किया जाने वाला तरीका

दिए गए दो स्ट्रिंग्स के लिए, इस दृष्टिकोण में हमारे पास दो मामले हैं -

  • वामावर्त घुमाने के लिए

  • दक्षिणावर्त घुमाने के लिए

सबसे पहले, यदि दोनों तारों की लंबाई अलग है, तो झूठी वापसी करें। अन्यथा, यदि दोनों स्ट्रिंग्स की लंबाई '2' से कम या उसके बराबर है, तो हम ट्रू वापस आ जाएंगे।

अन्य मामलों में, हम जांच करेंगे कि क्या स्ट्रिंग 'बी' का सबस्ट्रिंग दो स्थानों को वामावर्त दिशा में घुमाकर स्ट्रिंग 'ए' के ​​बराबर है, तो हम ट्रू वापस आ जाएंगे। अन्यथा, गलत।

इसी तरह, यदि स्ट्रिंग 'बी' को घड़ी की दिशा में दो स्थानों पर घुमाने से, यह स्ट्रिंग 'ए' के ​​बराबर हो जाता है, तो सही है, अन्यथा, हम झूठी वापसी करेंगे।

  • दो इनपुट स्ट्रिंग 'ए' और 'बी' लें

  • एक बूलियन फ़ंक्शन checkRotated (स्ट्रिंग ए, स्ट्रिंग बी) दो स्ट्रिंग्स 'ए' और 'बी' लेता है, और यदि वे स्ट्रिंग 'बी' को वामावर्त या दक्षिणावर्त दिशा में घुमाकर समान हैं तो वापस आ जाता है।

  • स्ट्रिंग 'ए' और स्ट्रिंग 'बी' की लंबाई की जांच करें।

  • दो स्थानों को वामावर्त घुमाकर स्ट्रिंग 'बी' के सबस्ट्रिंग का पता लगाएं।

  • अब जांचें कि परिणामी सबस्ट्रिंग स्ट्रिंग 'ए' के ​​बराबर है या नहीं और अगर यह बराबर है तो सही है।

  • स्ट्रिंग 'बी' को दो स्थानों पर दक्षिणावर्त दिशा में घुमाकर उसके स्थानापन्न का पता लगाएं।

  • अब जांचें कि परिणामी सबस्ट्रिंग स्ट्रिंग 'ए' के ​​बराबर है या नहीं और अगर यह बराबर है तो सही है।

  • अगर तार बराबर नहीं हैं, तो झूठी वापसी करें।

उदाहरण

#include<bits/stdc++.h>
using namespace std;
bool checkRotated(string str1, string str2){
   if (str1.length() != str2.length())
      return false;
   if(str1.length() <= 2 || str2.length() <= 2)
      return (str1 == str2);
   string s1= str2.substr(str2.size()-2, str2.size());
   string s2= str2.substr(0,str2.size()-2);
   string s3= s1+s2;
   if(s3==str1)
      return true;
   string s4= str2.substr(2,str2.size());
   string s5= str2.substr(0,2);
   string s6= s4+s5;
   if(s6==str1)
      return true;
   return false;
}
int main(){
   string a= "google";
   string b="legoog";
   cout<<checkRotated(a,b)<<endl;
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाएंगे, तो यह आउटपुट को इस रूप में प्रिंट करेगा,

1

चूंकि उपरोक्त कोड का आउटपुट "ट्रू" है, यह '1' प्रिंट करेगा।


  1. C++ में दो बाइनरी स्ट्रिंग्स जोड़ने का प्रोग्राम

    बाइनरी नंबर के साथ दो स्ट्रिंग्स को देखते हुए, हमें उन दो बाइनरी स्ट्रिंग्स को जोड़कर प्राप्त परिणाम को खोजना होगा और परिणाम को बाइनरी स्ट्रिंग के रूप में वापस करना होगा। बाइनरी नंबर वे नंबर होते हैं जिन्हें या तो 0 या 1 के रूप में व्यक्त किया जाता है। 2 बाइनरी नंबर जोड़ते समय बाइनरी जोड़ नियम होता

  1. जावा में एक प्रोग्राम लिखें यह जांचने के लिए कि क्या एक स्ट्रिंग को 2 स्थानों से घुमाकर एक स्ट्रिंग प्राप्त की जा सकती है

    मान लीजिए कि हमारे पास दो तार ए और बी हैं, तो कार्य यह पता लगाना है कि क्या हम स्ट्रिंग ए को ठीक 2 स्थानों पर वामावर्त या दक्षिणावर्त दिशा में घुमाकर स्ट्रिंग बी प्राप्त कर सकते हैं। उदाहरण के लिए, इनपुट-1 - a = google b = legoog आउटपुट - True स्पष्टीकरण - स्ट्रिंग गूगल को घड़ी की विपरीत दिशा में

  1. जांचें कि क्या एक स्ट्रिंग को अन्य स्ट्रिंग 2 स्थानों को पायथन में घुमाकर प्राप्त किया जा सकता है

    मान लीजिए कि हमारे पास दो तार s और t हैं। हमें यह जांचना है कि क्या हम t दो स्थान को किसी भी दिशा में बाएँ या दाएँ घुमाकर s प्राप्त कर सकते हैं। इसलिए, यदि इनपुट s =कोलकाता t =tacolka जैसा है, तो आउटपुट सही होगा क्योंकि हम कोलकाता प्राप्त करने के लिए takolka को बाईं ओर दो बार घुमा सकते हैं। इसे हल