अंग्रेजी अक्षरों वाली एक स्ट्रिंग स्ट्रिंग को देखते हुए। लक्ष्य str के सभी सबस्ट्रिंग में आने वाले स्वरों की संख्या ज्ञात करना है। यदि स्ट्रिंग "एबीसीडीई" है तो सबस्ट्रिंग "ए", "बी", "सी", "डी", "ई", "एबी", "बीसी", "सीडी", "डी", "एबीसी" होगी। "बीसीडी", "सीडीई", "एबीसीडी", "बीसीडीई", "एबीसीडीई"। इन सबस्ट्रिंग में स्वरों की संख्या 10 है। (ए और ई)
उदाहरण के लिए
इनपुट
str = ”aloe”
आउटपुट
Count the number of vowels occurring in all the substrings of given string are: 14
स्पष्टीकरण
The substrings are: “a”, “l”, “o”, “e”, “al”, “lo”, “oe”, “alo”, “loe”, “aloe”. Total vowels in these are: 14
इनपुट
str=”http”
आउटपुट
Count the number of vowels occurring in all the substrings of given string are: 0
स्पष्टीकरण
The substrings are: “h”, “t”, “t”, “p”, “ht”, “tt”, “tp”, “htt”, “ttp”, “http”. Total vowels in these are: 0
नीचे दिए गए कार्यक्रम में उपयोग किया गया दृष्टिकोण इस प्रकार है -
इस दृष्टिकोण में हम एक वेक्टर vec बनाएंगे, जो vec[i] में सभी सबस्ट्रिंग्स में ith कैरेक्टर की घटनाओं की गणना करता है।
0वाँ वर्ण n सबस्ट्रिंग में होता है जहाँ n स्ट्रिंग की लंबाई है।
Ith वर्ण सभी सबस्ट्रिंग्स में होता है जिसमें यह होता है ( n−i ) + ith कैरेक्टर वाले सबस्ट्रिंग्स की संख्या के साथ-साथ पिछले कैरेक्टर ( arr[ i−1 ] ) - केवल पिछले कैरेक्टर द्वारा गठित सबस्ट्रिंग्स की संख्या ( i )।
-
इनपुट के रूप में एक स्ट्रिंग स्ट्रिंग लें।
-
फ़ंक्शन substring_vowels_count(string str, int length) अपनी लंबाई के साथ str लेता है और किसी दिए गए स्ट्रिंग के सभी सबस्ट्रिंग में होने वाले स्वरों की संख्या की गणना करता है।
-
प्रारंभिक गणना 0 के रूप में लें।
-
एक पूर्णांक सदिश vec लें।
-
i−0 से i<लंबाई के लिए लूप का उपयोग करके vec को ट्रैवर्स करें और इसे str के सभी सबस्ट्रिंग में ith स्थिति वर्ण की घटनाओं की संख्या के साथ पॉप्युलेट करें।
-
यदि i=0, 0वें वर्ण के लिए यह संख्या लंबाई है। vec[0]=length का उपयोग करके push_back[length] सेट करें।
-
push_back(temp_1 + temp_2) जहांtemp_1=length−1 और temp_2=vec[i−1]−i.
का उपयोग करके सेट किए गए अन्य सभी वर्णों के लिए -
अब लूप के लिए और प्रत्येक str[i] के लिए स्वर, ( a , e, i, o, or u ) का उपयोग करके फिर से ट्रैवर्स करें। vec[i] को गिनने के लिए जोड़ें।
-
अंत में हमारे पास गिनती में सबस्ट्रिंग में स्वरों की कुल संख्या होगी।
-
परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include <bits/stdc++.h> using namespace std; int substring_vowels_count(string str, int length){ int count = 0; vector<int> vec; for (int i = 0; i < length; i++){ if (i == 0){ vec.push_back(length); } else { int temp_1 = length − i; int temp_2 = vec[i − 1] − i; vec.push_back(temp_1 + temp_2); } } for (int i = 0; i < length; i++){ if(str[i] == 'a' || str[i] == 'i' || str[i] == 'e' || str[i] == 'o' || str[i] == 'u'){ count = count + vec[i]; } } return count; } int main(){ string str = "honesty"; int length = str.length(); cout<<"Count the number of vowels occurring in all the substrings of given string are: "<<substring_vowels_count(str, length); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Count the number of vowels occurring in all the substrings of given string are: 28