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

C++-এ স্ট্রিং-এ সর্বোচ্চ সান্মুখ্য রিপিটিং ক্যারেক্টার


আমাদের একটি অ্যালফাবেট স্ট্রিং দেওয়া আছে। কাজ হল স্ট্রিং-এ সর্বোচ্চ সান্মুখ্য পুনরাবৃত্তি হওয়া ক্যারেক্টারটি বের করা। উদাহরণ দিয়ে বুঝি।

উদাহরণ দিয়ে বোঝা যাক

ইনপুট - String[] = "abbbabbbbcdd"

আউটপুট - b

ব্যাখ্যা - উপরের স্ট্রিং-এ সবচেয়ে দীর্ঘ সান্মুখ্য শৃঙ্খলা ক্যারেক্টার 'b'-র। সান্মুখ্য b-এর কাউন্ট ৪।

ইনপুট - String[] = "aabbcdeeeeed"

আউটপুট - e

ব্যাখ্যা - উপরের স্ট্রিং-এ সবচেয়ে দীর্ঘ সান্মুখ্য শৃঙ্খলা ক্যারেক্টার 'e'-র। সান্মুখ্য e-এর কাউন্ট ৫। (মূল টেক্সটে b লেখা আছে যা ভুল।)

প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • ক্যারেক্টার অ্যারে string1[] ব্যবহার করা হয়েছে অ্যালফাবেট স্ট্রিং সংরক্ষণের জন্য।

  • maxRepeating(char str[], int n) ফাংশন দুটি ইনপুট নেয়। স্ট্রিংটি এবং এর আকার। ফেরত দেয় স্ট্রিং-এ সর্বোচ্চ সান্মুখ্য রিপিটিশন শৃঙ্খলা বিশিষ্ট ক্যারেক্টার।

  • str[]-এ ১ম পজিশন থেকে শেষ পর্যন্ত ট্রাভার্স করুন।

  • যদি str[i] এবং পরেরটি str[i+1] একই হয় তবে count বাড়ান।

  • যদি वो কাউন্টটি সর্বোচ্চ হয়, তবে মান maxC-এ এবং ক্যারেক্টার repchar-এ সংরক্ষণ করুন।

  • ফাইনাল রেজাল্ট হিসেবে repchar ফেরত দিন।

C++ প্রোগ্রাম উদাহরণ

#include <iostream>
#include <iostream>

char maxRepeating(char str[], int n){
    int count = 0;
    char repchar = str[0];
    int maxC = 1;
    for (int i=0; i<n; i++){
        if (str[i] == str[i+1] && i < n-1 )
            maxC++;
        else{
            if (maxC > count){
                count = maxC;
                repchar = str[i];
            }
            maxC = 1;
        }
    }
    return repchar;
}

int main(){
    char string1[] = "aaabbaacccddef";
    int N=14;
    printf("Maximum Consecutive repeating character in string: %c",maxRepeating(string1,N));
    return 0;
}

আউটপুট

Maximum Consecutive repeating character in string: a
  1. C++-এ স্ট্রিংর প্রতিটি ক্যারেক্টারে লুপ চালানো

  2. C++-এ একক ক্যারেক্টারকে স্ট্রিং-এ কনভার্ট করা

  3. স্ট্রিং-এ ক্যারেক্টার বা অ্যালফাবেটের ফ্রিকোয়েন্সি বের করার C++ প্রোগ্রাম

  4. C++ স্ট্রিং কনস্ট্যান্ট এবং ক্যারেক্টার কনস্ট্যান্টের পার্থক্য