কম্পিউটার টিউটোরিয়াল

C++-এ স্ট্রিংয়ের ভোয়েল (স্বরবর্ণ) রিভার্স করা

একটি স্ট্রিং দেওয়া থাকলে, স্ট্রিংয়ে উপস্থিত সব ভোয়েল (a, e, i, o, u - ছোট ও বড় হাতের) রিভার্স করতে হবে। বাকি কনসোন্যান্টগুলো অপরিবর্তিত থাকবে।

ইনপুট-১

a = "tutor"

আউটপুট

totur

ইনপুট-২

a = "mathematics"

আউটপুট

mithametacs

সমাধানের পদ্ধতি

O(n) সময়ে সমাধানের জন্য টু-পয়েন্টার পদ্ধতি ব্যবহার করা হয়।

  • স্ট্রিং ইনপুট নিন।
  • isVowel(char ch) ফাংশন দিয়ে ভোয়েল চেক করুন।
  • reverseVowel(string &s) ফাংশনে low = 0 এবং high = s.size()-1 নিন।
  • বাম ও ডান পয়েন্টার থেকে ভোয়েল খুঁজে পাওয়া পর্যন্ত সکان করুন।
  • দুইটি ভোয়েল পাওয়া গেলে সত্যিকারের স্ট্রিংয়েতে সোয়্যাপ করুন এবং পয়েন্টারগুলো সরান।
  • low < high পর্যন্ত লুপ চালান।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

bool isVowel(char ch) {
    return ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u'||
           ch=='A'||ch=='E'||ch=='I'||ch=='O'||ch=='U';
}

string reverseVowel(string &s) {
    int low = 0, high = s.size() - 1;
    while (low < high) {
        while (low < high && !isVowel(s[low])) low++;
        while (low < high && !isVowel(s[high])) high--;
        swap(s[low++], s[high--]);
    }
    return s;
}

int main() {
    string a = "tutorialspoint";
    cout << reverseVowel(a);
    return 0;
}

আউটপুট

titorailspount
  1. C/C++-এ স্ট্রিং রিভার্স করা

  2. C++-এ স্ট্রিং টোকেনাইজ (Tokenize) করা

  3. C#-এ স্ট্রিং রিভার্স (Reverse a String)

  4. পাইথনে স্ট্রিংয়ের স্বরবর্ণ রিভার্স