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

C/C++ में वैकल्पिक स्वर और व्यंजन स्ट्रिंग


समस्या विवरण

एक स्ट्रिंग दी गई है, स्ट्रिंग में वर्णों को पुनर्व्यवस्थित करें ताकि स्वर और व्यंजन वैकल्पिक स्थिति पर कब्जा करें। यदि स्ट्रिंग को उपरोक्त तरीके से पुनर्व्यवस्थित नहीं किया जा सकता है, तो "संभव नहीं" प्रिंट करें।

एक दूसरे के संबंध में स्वरों का क्रम और एक दूसरे के संबंध में व्यंजनों का क्रम बनाए रखा जाना चाहिए।

उदाहरण

इनपुट: abce
आउटपुट: abec

C++ प्रोग्राम उदाहरण

#include <iostream>
using namespace std;

bool isVowel(char ch) {
    if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u')
        return true;
    return false;
}

string createAltStr(string str1, string str2, int start, int l) {
    string finalStr = "";
    for (int i = 0, j = start; j < l; i++, j++)
        finalStr = (finalStr + str1.at(i)) + str2.at(j);
    return finalStr;
}

string findAltStr(string str) {
    int nv = 0, nc = 0;
    string vstr = "", cstr = "";
    int l = str.size();
    for (int i = 0; i < l; i++) {
        char ch = str.at(i);
        if (isVowel(ch)) {
            nv++;
            vstr = vstr + ch;
        } else {
            nc++;
            cstr = cstr + ch;
        }
    }
    if (abs(nv - nc) >= 2)
        return "ऐसी कोई स्ट्रिंग नहीं";
    if (nv > nc)
        return (vstr.at(0) + createAltStr(cstr, vstr, 1, nv));
    if (nc > nv)
        return (cstr.at(0) + createAltStr(vstr, cstr, 1, nc));
    if (cstr.at(0) < vstr.at(0))
        return createAltStr(cstr, vstr, 0, nv);
    return createAltStr(vstr, cstr, 0, nc);
}

int main() {
    string str = "abde";
    cout << findAltStr(str);
    return 0;
}
  1. - C++ में स्वर से शुरू और व्यंजन पर समाप्त होने वाले स्ट्रिंग के सभी उपअनुक्रम प्रिंट करें

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

  1. - C/C++ में strncmp() और strcmp() का अंतर

    strncmp() strncmp() फ़ंक्शन का उपयोग लेफ्ट स्ट्रिंग की तुलना राइट स्ट्रिंग से एक निर्दिष्ट संख्या तक करने के लिए किया जाता है। यह strcmp() की तरह ही काम करता है। जब लेफ्ट स्ट्रिंग के मिलान वाले कैरेक्टर का ASCII मान राइट स्ट्रिंग के कैरेक्टर से अधिक होता है, तो यह शून्य से अधिक मान लौटाता है। जब लेफ

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

    उदाहरण #include <stdio.h> #include <string.h> int main() { char s[50], t; int i = 0, j = 0; printf(\nरिवर्स करने के लिए स्ट्रिंग दर्ज करें: ); gets(s); j = strlen(s) - 1; while (i < j) { t = s[i]; s[i] = s[j]; s[j] = t; i++;