हमें एक स्ट्रिंग str[] और एक संख्या n दी गई है। लक्ष्य str[] के सभी सबस्ट्रिंग्स को खोजना है जिनकी लंबाई n है। यदि स्ट्रिंग "abcde" और n=3 है तो लंबाई 3 के सबस्ट्रिंग "abc", "bcd", "cde" हैं और गिनती 3 है।
आइए उदाहरणों से समझते हैं।
इनपुट - str[] ="कंप्यूटर" n=4
आउटपुट − दी गई स्ट्रिंग से n लंबाई के सबस्ट्रिंग की संख्या संभव है − 5
स्पष्टीकरण - लंबाई 4 वाले सबस्ट्रिंग हैं:"कॉम्प", "ओम्पू", "मपुट", "पुट", "यूटर"
इनपुट - str[] ="विकास" n=5
आउटपुट − दी गई स्ट्रिंग से n लंबाई के सबस्ट्रिंग की संख्या संभव है − 7
स्पष्टीकरण - लंबाई 5 वाले सबस्ट्रिंग हैं:"डेवेल", "एवेलो", "वेलोप", "एलोपम", "लोपमे", "ओपमेन", "पमेंट"।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
यदि हम स्ट्रिंग की लंबाई str[] को L के रूप में लेते हैं तो str[] के अंदर लंबाई n के सबस्ट्रिंग की संख्या Ln+1 है। यदि स्ट्रिंग "abcdefghi" है और n 4 है तो सबस्ट्रिंग "abcd", "bcde", "cdef", "defg", "efgh", "fghi" होगी। गिनती 6 है। साथ ही 9-4+1=6।
-
एक स्ट्रिंग स्ट्रिंग लें।
-
n को पूर्णांक के रूप में लें।
-
फ़ंक्शन संभव_सबस्ट्रिंग (स्ट्रिंग स्ट्र, इंट लेंथ, इंट एन) एक स्ट्रिंग लेता है, इसकी लंबाई, एन और लंबाई एन के साथ स्ट्र के सबस्ट्रिंग की गिनती देता है।
-
एक चर गणना लें।
-
गिनती सेट करें =लंबाई-एन+1.
-
अंत में परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include <bits/stdc++.h> using namespace std; int possible_substring(string str, int length, int n){ int count = length - n + 1; return count; } int main(){ string str = "learning"; int length = str.length(); int n = 2; cout<<"Count of substrings of length n possible from the given string are: "<<possible_substring(str, length, n); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count of substrings of length n possible from the given string are: 7