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

सी ++ में एक स्ट्रिंग की सभी घटनाओं के सूचकांक खोजें

मान लीजिए कि हमारे पास स्ट्रिंग स्ट्र है, और एक अन्य सबस्ट्रिंग सब_स्ट्र है, हमें स्ट्र में सब_स्ट्र की सभी घटनाओं के लिए इंडेक्स ढूंढना होगा। मान लीजिए कि str "aabbababaabbbabbaaabba" है, और sub_str "abb" है, तो सूचकांक 1 9 13 18 होंगे।

इस समस्या को हल करने के लिए, हम C++ STL में सबस्ट्र () फ़ंक्शन का उपयोग कर सकते हैं। यह फ़ंक्शन प्रारंभिक स्थिति लेता है जहां से यह जांच शुरू करेगा, और सबस्ट्रिंग की लंबाई, यदि वह सब_स्ट्र के समान है, तो स्थिति लौटाती है।

उदाहरण

#include<iostream>
using namespace std;
void substrPosition(string str, string sub_str) {
   bool flag = false;
   for (int i = 0; i < str.length(); i++) {
      if (str.substr(i, sub_str.length()) == sub_str) {
         cout << i << " ";
         flag = true;
      }
   }
   if (flag == false)
      cout << "NONE";
}
int main() {
   string str = "aabbababaabbbabbaaabba";
   string sub_str = "abb";
   cout << "Substrings are present at: ";
   substrPosition(str, sub_str);
}

आउटपुट

Substrings are present at: 1 9 13 18

  1. सी ++ में एक शब्दकोश में विशिष्ट पैटर्न से मेल खाने वाले सभी तार खोजें

    विचार करें कि हमारे पास डिक्शनरी नामक स्ट्रिंग्स की एक सूची है। हमारे पास एक और पैटर्न स्ट्रिंग है। हमारा काम उन स्ट्रिंग्स को ढूंढना है जो पैटर्न से मेल खाती हैं। मान लीजिए कि शब्दकोश [abb, xyz, aab, kmm] जैसा है, और पैटर्न stt है, तो परिणाम abb, और kmm होंगे। चूंकि पैटर्न में पहले एक अक्षर होता है

  1. C++ का उपयोग करके एक स्ट्रिंग में एक अतिरिक्त वर्ण खोजें।

    मान लीजिए कि हमारे पास दो तार S और T हैं, S की लंबाई n है, और T की लंबाई n + 1 है। T उन सभी वर्णों को धारण करेगा जो S में मौजूद हैं, लेकिन इसमें एक अतिरिक्त वर्ण होगा। हमारा काम कुछ कुशल दृष्टिकोण का उपयोग करके अतिरिक्त चरित्र को खोजना है। इस समस्या को हल करने के लिए, हम एक खाली हैश तालिका लेंगे, औ

  1. पायथन में टी में एक स्ट्रिंग एस के सभी विपर्यय के प्रारंभ सूचकांकों को खोजने के लिए कार्यक्रम

    मान लीजिए कि हमारे पास दो तार S और T हैं, हमें T में S के विपर्यय के सभी प्रारंभिक सूचकांकों को खोजना है। स्ट्रिंग्स में केवल लोअरकेस अक्षर होते हैं और दोनों स्ट्रिंग्स S और T की लंबाई 20 और 100 से बड़ी नहीं होगी। इसलिए, यदि इनपुट S =cab T =bcabxabc जैसा है, तो आउटपुट bca, cab और abc सबस्ट्रिंग के