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

C++ प्रोग्राम में दो स्ट्रिंग्स के असामान्य वर्ण खोजें

इस ट्यूटोरियल में, हम सीखेंगे कि दिए गए दो स्ट्रिंग्स से अलग-अलग कैरेक्टर कैसे खोजें। आइए एक उदाहरण देखें।

इनपुट

string_one = "tutorialspoint"
string_two = "tutorialsworld"

आउटपुट

d n p w

हम समस्या को हल करने के लिए हैशिंग का उपयोग करने जा रहे हैं। यह दो नेस्टेड लूप लिखने की तुलना में अधिक कुशल है

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

  • कुछ यादृच्छिक मानों के साथ दो स्ट्रिंग प्रारंभ करें।

  • मानचित्र को मानचित्र के रूप में प्रारंभ करें वर्ण।

  • पहली स्ट्रिंग पर पुनरावृति करें और प्रत्येक वर्ण को मान 1 के साथ मानचित्र में डालें।

  • अब, दूसरी स्ट्रिंग पर पुनरावृति करें।

    • जांचें कि चरित्र पहले से मौजूद है या नहीं।

    • अगर मौजूद है, तो उसे 0 असाइन करें।

    • यदि मौजूद नहीं है तो 1 मान वाला वर्ण डालें।

  • मानचित्र पर पुनरावृति करें और 1 मान वाले वर्ण प्रिंट करें।

उदाहरण

नीचे दिए गए कोड को देखें।

#include <bits/stdc++.h>
#include <map>
using namespace std;
void findDistinctCharacters(string one, string two){
   // initializing char presence in string
   map<char, int> chars;
   // iterating over the first string
   for (int i = 0; i < one.size(); ++i){
      // inserting every character into map
      chars.insert({one[i], 1});
   }
   // iterating over the second string
   for (int i = 0; i < two.size(); ++i){
      // checking whether the current char in string or not
      if (chars.count(two[i])) {
         // assigning 0 for common chars
         chars.find(two[i])->second = 0;
      }
      else {
         // insering new chars
         chars.insert({two[i], 1});
      }
   }
   // printing the distinct characters
   for (auto item: chars){
      // checking the presence
      if (item.second == 1) {
         // printing the distinct char
         cout << item.first << " ";
      }
   }
}
int main(){
   string one = "tutorialspoint";
   string two = "tutorialsworld";
   findDistinctCharacters(one, two);
   return 0;
}

आउटपुट

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

d n p w

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. C++ में एक लाइन के मध्य-बिंदु को खोजने का प्रोग्राम

    इस समस्या में, हमें दो बिंदु A और B दिए गए हैं, जो एक रेखा के आरंभ और अंत बिंदु हैं। हमारा काम C++ में एक लाइन के मध्य-बिंदु को खोजने के लिए एक प्रोग्राम बनाना है। समस्या का विवरण - यहाँ, हमारे पास एक रेखा है जिसमें शुरुआती और अंत बिंदु A(x1, y1) और B(x2, y2) हैं। और हमें रेखा के मध्य-बिंदु को खोजन

  1. C++ में त्रिभुज के केंद्रक को खोजने का कार्यक्रम

    इस समस्या में, हमें एक 2D सरणी दी गई है जो त्रिभुज के तीन शीर्षों के निर्देशांकों को दर्शाती है। हमारा काम C++ में त्रिभुज के Centroid को खोजने के लिए एक प्रोग्राम बनाना है। सेंट्रोइड त्रिभुज का वह बिंदु है जिस पर त्रिभुज की तीन माध्यिकाएं प्रतिच्छेद करती हैं। माध्यिका त्रिभुज की वह रेखा है जो त्र

  1. C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने का कार्यक्रम

    इस समस्या में, हमें दो मान दिए गए हैं जो समांतर चतुर्भुज के आधार और ऊंचाई को दर्शाते हैं। हमारा कार्य C++ में समांतर चतुर्भुज का क्षेत्रफल ज्ञात करने के लिए एक प्रोग्राम बनाना है। समांतर चतुर्भुज एक चार भुजा बंद आकृति है जिसकी विपरीत भुजाएँ एक दूसरे के समान और समानांतर हैं। समस्या को समझने के लि