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

C++ में स्ट्रिंग से पहले X स्वर खोजना

समस्या विवरण

इस समस्या में, हमें आकार N की एक स्ट्रिंग str[] और एक पूर्णांक X दिया गया है। हमारा कार्य स्ट्रिंग से पहले X स्वर प्रिंट करने के लिए एक प्रोग्राम बनाना है।

हम स्ट्रिंग से पहले X स्वर प्रिंट करेंगे और यदि X से कम स्वर मौजूद हैं, तो -1 प्रिंट करें।

उदाहरण

इनपुट: str = "learn C programming language", X = 5
आउटपुट: e, a, o, a, i
स्वर हैं: a, e, i, o, u

हल का दृष्टिकोण

समस्या का एक सरल समाधान स्ट्रिंग को वर्ण दर वर्ण पार करना है। और स्ट्रिंग के सभी स्वरों को एक स्वर स्ट्रिंग में संग्रहीत करना। और यदि इस स्ट्रिंग की लंबाई X के बराबर है, तो इसे वापस करें। यदि स्ट्रिंग के सभी स्वर X तक गिनती नहीं बना सकते, तो -1 वापस करें।

C++ कार्यान्वयन

#include <iostream> 
#include <string> 
#include <cctype> 
using namespace std; 

bool isVowel(char c) {
    c = tolower(c);
    return (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u');
}

string findXVowelsString(string s, int x) {
    string vowelsString = "";
    for (int i = 0; i < s.length(); i++) {
        if (isVowel(s[i])) {
            vowelsString += s[i];
            if (vowelsString.length() == x) {
                return vowelsString;
            }
        }
    }
    return "-1";
}

int main() {
    string str = "learn C programming language";
    int x = 5;
    cout << "स्ट्रिंग से पहले " << x << " स्वर हैं " << findXVowelsString(str, x);
    return 0;
}

आउटपुट

स्ट्रिंग से पहले 5 स्वर हैं eaoai

जटिलता विश्लेषण

  • समय जटिलता: O(N) जहां N स्ट्रिंग की लंबाई है
  • स्पेस जटिलता: O(X) परिणाम स्ट्रिंग के लिए

विविधताएं

  • केस-असंवेदनशील: tolower() का उपयोग करके दोनों केस संभालता है
  • केवल अद्वितीय स्वर: पहले से देखे गए स्वरों को ट्रैक करने के लिए एक सेट का उपयोग करें
  • स्वर गिनती: प्रत्येक स्वर की आवृत्ति गिनने के लिए मानचित्र का उपयोग करें
  1. - C++ का उपयोग करके स्ट्रिंग से दिए गए शब्द को हटाना

    इस लेख में, हम दिए गए स्ट्रिंग से दिए गए शब्द को हटाने की समस्या को हल करेंगे। उदाहरण के लिए: इनपुट: str = remove a given word, word = remove आउटपुट: a given word इनपुट: str = god is everywhere, word = is आउटपुट: god everywhere समाधान खोजने का दृष्टिकोण उदाहरण के लिए, हम स्ट्रिंग से एक शब्द को हट

  1. - C++ में स्ट्रिंग के स्वरों को उल्टा करें

    एक स्ट्रिंग दी गई है, कार्य दी गई स्ट्रिंग में मौजूद सभी स्वरों को उल्टा करना है। उदाहरण के लिए, इनपुट-1 - a = tutor आउटपुट - totur व्याख्या - स्ट्रिंग tutor को उल्टा करने पर आउटपुट totur उत्पन्न होगा। इनपुट-2 - a = mathematics आउटपुट - mithametacs व्याख्या - स्ट्रिंग mathematics को उल्टा करने पर आ

  1. स्ट्रिंग से बाइनरी ट्री का निर्माण C++ में स्ट्रिंग से बाइनरी ट्री का निर्माण C++ में

    मान लीजिए हमारे पास एक स्ट्रिंग है जिसमें पैरेंथेसिस और पूर्णांक हैं। हमें उस स्ट्रिंग से एक बाइनरी ट्री का निर्माण करना है। पूरा इनपुट एक बाइनरी ट्री को दर्शाता है। इसमें एक पूर्णांक होता है जिसके बाद शून्य, एक या दो जोड़े पैरेंथेसिस होते हैं। पूर्णांक रूट का मान दर्शाता है और पैरेंथेसिस का एक जोड़