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

C++ में दिए गए स्ट्रिंग के सभी उपस्ट्रिंग्स में स्वरों की संख्या गिनें


समस्या विवरण

एक स्ट्रिंग str दी गई है जिसमें अंग्रेजी अल्फाबेट हैं। लक्ष्य str के सभी उपस्ट्रिंग्स में आने वाले स्वरों की संख्या ज्ञात करना है। यदि स्ट्रिंग "abcde" है तो उपस्ट्रिंग्स होंगे "a", "b", "c", "d", "e", "ab", "bc", "cd", "de", "abc", "bcd", "cde", "abcd", "bcde", "abcde"। इन उपस्ट्रिंग्स में स्वरों की गिनती 10 है। (a और e)

उदाहरण

इनपुट

str = "aloe"

आउटपुट

सभी उपस्ट्रिंग्स में स्वरों की संख्या: 14

व्याख्या

उपस्ट्रिंग्स हैं: "a", "l", "o", "e", "al", "lo", "oe", "alo", "loe", "aloe"। इनमें कुल स्वर: 14

इनपुट

str="http"

आउटपुट

सभी उपस्ट्रिंग्स में स्वरों की संख्या: 0

व्याख्या

उपस्ट्रिंग्स हैं: "h", "t", "t", "p", "ht", "tt", "tp", "htt", "ttp", "http"। इनमें कुल स्वर: 0

दृष्टिकोण

इस दृष्टिकोण में हम एक वेक्टर vec बनाएंगे, जो सभी उपस्ट्रिंग्स में iवें वर्ण की घटनाओं की गिनती vec[i] में संग्रहीत करता है।

0वां वर्ण n उपस्ट्रिंग्स में होता है जहां n स्ट्रिंग str की लंबाई है।

iवां वर्ण उन सभी उपस्ट्रिंग्स में होता है जिनमें यह शामिल है (n-i) + उन उपस्ट्रिंग्स की संख्या जिनमें iवां वर्ण और पिछला वर्ण दोनों शामिल हैं (arr[i-1]) - केवल पिछले वर्णों द्वारा बने उपस्ट्रिंग्स की संख्या (i)।

एल्गोरिदम चरण

  • एक स्ट्रिंग str इनपुट के रूप में लें।
  • फंक्शन substring_vowels_count(string str, int length) str को उसकी लंबाई के साथ लेता है और दिए गए स्ट्रिंग के सभी उपस्ट्रिंग्स में आने वाले स्वरों की संख्या लौटाता है।
  • प्रारंभिक गिनती 0 लें।
  • एक पूर्णांक वेक्टर vec लें।
  • for लूप का उपयोग करके i=0 से i<length तक vec को पार करें और इसे str के सभी उपस्ट्रिंग्स में iवें स्थान के वर्ण की घटनाओं की गिनती से भरें।
  • यदि i=0, 0वें वर्ण के लिए यह गिनती लंबाई है। push_back[length] का उपयोग करके vec[0]=length सेट करें।
  • अन्य सभी वर्णों के लिए push_back(temp_1 + temp_2) का उपयोग करके सेट करें जहां temp_1=length-i और temp_2=vec[i-1]-i।
  • अब for लूप का उपयोग करके str को फिर से पार करें और प्रत्येक str[i] के लिए स्वर (a, e, i, o, या u) होने पर vec[i] को गिनती में जोड़ें।
  • अंत में हमारे पास count में उपस्ट्रिंग्स में स्वरों की कुल घटनाओं की संख्या होगी।
  • परिणाम के रूप में गिनती लौटाएं।

C++ कोड उदाहरण

#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 << "सभी उपस्ट्रिंग्स में स्वरों की संख्या: " << substring_vowels_count(str, length);
    return 0;
}

आउटपुट

सभी उपस्ट्रिंग्स में स्वरों की संख्या: 28
  1. C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना C++ में स्ट्रिंग के सबस्ट्रिंग्स की संख्या निकालना

    इस लेख में, आप एक दी गई स्ट्रिंग में बनने वाले सबस्ट्रिंग्स (गैर-खाली) की संख्या निकालने के दृष्टिकोण के बारे में जानेंगे।इनपुट: string = moon आउटपुट: 10 व्याख्या: सबस्ट्रिंग्स हैं m, o, o, n, mo, oo, on, moo, oon और moon। इनपुट: string = yellow आउटपुट: 21समाधान खोजने का दृष्टिकोणमान लें स्ट्रिंग की

  1. Python प्रोग्राम से सेट का उपयोग करके दी गई स्ट्रिंग में स्वरों की संख्या गिनना Python प्रोग्राम से सेट का उपयोग करके दी गई स्ट्रिंग में स्वरों की संख्या गिनना

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक स्ट्रिंग दी गई है, हमें सेट का उपयोग करके दी गई स्ट्रिंग में स्वरों की संख्या गिनने की आवश्यकता है। यहां हम पूरी स्ट्रिंग को पार करते हैं और जांचते हैं कि प्रत्येक वर्ण स्वर है या नहीं और काउंट बढ़ाते हैं। आ

  1. - पायथन प्रोग्राम: सेट का उपयोग करके दिए गए स्ट्रिंग में वॉवेल्स की संख्या गिनना

    इस प्रोग्राम में, एक यूजर इनपुट स्ट्रिंग दी गई है। हमें इस स्ट्रिंग में वॉवेल्स की संख्या गिननी है। यहां हम पायथन में सेट का उपयोग करते हैं। सेट एक अनऑर्डर्ड कलेक्शन डेटा टाइप है जो इटरेबल, म्यूटेबल है और इसमें कोई डुप्लिकेट एलिमेंट्स नहीं होते।उदाहरणInput: str1=pythonprogram Output: 3एल्गोरिदमचरण 1