কম্পিউটার

C++ এ স্ট্রিং-এ সর্বাধিক ধারাবাহিক পুনরাবৃত্তি অক্ষর


আমাদের বর্ণমালার একটি স্ট্রিং দেওয়া হয়েছে৷ টাস্ক হল সেই অক্ষরটি খুঁজে বের করা যার দীর্ঘতম ধারাবাহিক পুনরাবৃত্তি স্ট্রিং-এ ঘটছে। উদাহরণ দিয়ে বোঝা যাক।

ইনপুট − স্ট্রিং[] =“abbbabbbbcdd”

আউটপুট − b

ব্যাখ্যা − উপরের স্ট্রিংটিতে, দীর্ঘতম ক্রমাগত ক্রম হল 'b' অক্ষরের। পরপর b এর গণনা হল 4.

ইনপুট − স্ট্রিং[] =“aabbcdeeeeed”

আউটপুট − b

ব্যাখ্যা − উপরের স্ট্রিংটিতে, দীর্ঘতম ক্রমাগত ক্রমটি 'e' অক্ষরের। পরপর e এর সংখ্যা 5।

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

  • অক্ষর অ্যারে স্ট্রিং1[] বর্ণমালার স্ট্রিং সংরক্ষণ করতে ব্যবহৃত হয়।

  • ফাংশন maxRepeating(char str[], int n) দুটি ইনপুট প্যারামিটার নেয়। স্ট্রিং নিজেই, এর আকার। দীর্ঘতম ধারাবাহিক পুনরাবৃত্তি ক্রম সহ অক্ষরটি ফেরত দেয়৷

  • প্রথম অবস্থান থেকে শেষ পর্যন্ত str[] এ স্ট্রিংটি অতিক্রম করুন।

  • যদি str[i] এবং পরবর্তী একটি str[i+1] একই হয়, তাহলে বৃদ্ধির সংখ্যা।

  • যদি গণনা সর্বাধিক হয়, তাহলে মানটি maxC এবং অক্ষর রেপচারে সংরক্ষণ করুন।

  • চূড়ান্ত ফলাফল হিসাবে রেপচারটি ফেরত দিন।

উদাহরণ

#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. কিভাবে একটি একক অক্ষর সি++ এ স্ট্রিং এ রূপান্তর করবেন?

  3. একটি স্ট্রিং এ একটি অক্ষরের ফ্রিকোয়েন্সি খুঁজে পেতে C++ প্রোগ্রাম

  4. C++ স্ট্রিং ধ্রুবক এবং অক্ষর ধ্রুবকের মধ্যে পার্থক্য