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

C++ में स्ट्रिंग में सभी फनी वर्ड्स प्रिंट करना


इस समस्या में, हमें एक वाक्य दिया गया है। हमारा कार्य वाक्य से उन सभी स्ट्रिंग्स को प्रिंट करना है जो फनी वर्ड्स हैं।

फनी वर्ड

फनी वर्ड वह शब्द है जो इस शर्त का पालन करता है - स्ट्रिंग के आसन्न कैरेक्टर्स और इसके रिवर्स स्ट्रिंग के बीच का निरपेक्ष अंतर समान होता है।

|string[0] - string[1]| = |revstring[0] - revstring[1]|

उदाहरण

Input: string = 'ABRS' 
Output: Yes 
Explanation: Reverse string = SRBA 
|A-B| = 1 = |S-R| 
|B-R| = 16 = |R-B| 
|B-A| = 1 = |R-S|

इस समस्या को हल करने के लिए, हमें दिए गए वाक्य से प्रत्येक स्ट्रिंग निकालनी होगी। और प्रिंट करना होगा यदि स्ट्रिंग फनी स्ट्रिंग है।

फनी स्ट्रिंग की जांच - इसके लिए, हम स्ट्रिंग को दोनों छोर से पार करेंगे यानी शुरुआत से और अंत से। और स्ट्रिंग के आसन्न कैरेक्टर्स के बीच निरपेक्ष अंतर की तुलना करेंगे और यदि अंतर समान नहीं है तो false लौटाएंगे।

उदाहरण

नीचे दिया गया कोड हमारे तर्क को लागू करेगा:

#include <iostream> 
#include<string.h> 
using namespace std; 

bool isFunny(string word) { 
    int i = 1; 
    int j = word.length() - 2; 
    for (int i = 0; i < word.length(); i++) 
        word[i] = tolower(word[i]); 
    while (i <= j) { 
        if (abs(word[i] - word[i - 1]) != abs(word[j] - word[j + 1])) 
            return false; 
        i++; 
        j--; 
    } 
    return true; 
} 

void printFunnyWords(string str) { 
    str += " "; 
    string word = ""; 
    for (int i = 0; i < str.length(); i++) { 
        char ch = str[i]; 
        if (ch != ' ') 
            word += ch; 
        else { 
            if (isFunny(word)) 
                cout << word << "\t"; 
            word = ""; 
        } 
    } 
} 

int main() { 
    string sentence = "hello, i love malayalam langauge"; 
    cout << "All funny words of the string '" << sentence << "' are :\n"; 
    printFunnyWords(sentence); 
    return 0; 
}

आउटपुट

All funny words of the string 'hello, i love malayalam langauge' are : i malayalam

  1. - C++ में ब्रैकेट रूप में स्ट्रिंग को तोड़ने के सभी तरीके प्रिंट करें

    इस समस्या में, हमें एक स्ट्रिंग दी गई है और हमें इसे उपस्ट्रिंग में तोड़ना है और उन्हें ब्रैकेट में संलग्न करके प्रिंट करना है। आइए कुछ उदाहरण लेकर इस समस्या को बेहतर ढंग से समझते हैं, Input : wxyz Output : (w) (x) (y) (z) (w) (x) (yz) (w) (xy) (z) (w) (xyz) (wx) (y) (z) (wx)

  1. - C++ में कैमलकेस नोटेशन डिक्शनरी में पैटर्न से मेल खाने वाले सभी शब्द प्रिंट करें

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

  1. - C++ में दिए गए स्ट्रिंग के सभी सबस्ट्रिंग प्रिंट करने का प्रोग्राम

    इस ट्यूटोरियल में, हम दिए गए स्ट्रिंग के सभी सबस्ट्रिंग प्रिंट करने के प्रोग्राम पर चर्चा करेंगे। इसके लिए हमें एक स्ट्रिंग या कैरेक्टर्स का ऐरे दिया जाएगा। हमारा कार्य उस विशेष स्ट्रिंग के सभी सबस्ट्रिंग प्रिंट करना है। उदाहरण #include using namespace std; // सभी सबस्ट्रिंग प्रिंट करना void pr