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

C++-এ একই প্রতিবেশী বিশিষ্ট অক্ষর গণনা

আমাদের একটি স্ট্রিং দেওয়া আছে, যেমন str, এবং আমাদের কাজ হল স্ট্রিংতে থাকা সেই অক্ষরগুলির সংখ্যা গণনা করা যাদের একই প্রতিবেশী রয়েছে এবং এতে স্ট্রিংয়ে একটি অক্ষরের বাম ও ডান দুপাশের প্রতিবেশী অন্তর্ভুক্ত। এছাড়া, এই পরিস্থিতিতে স্ট্রিংয়ের প্রথম এবং শেষ অক্ষর সবসময় গণ্য হবে কারণ তাদের কেবল একটি প্রতিবেশী থাকে।

উদাহরণ

ইনপুট − string str = "poiot" আউটপুট − গণনা 3

ব্যাখ্যা − দেওয়া স্ট্রিংতে p, t এবং i অক্ষরগুলির একই প্রতিবেশী রয়েছে তাই গণনা 3 হবে।

ইনপুট − string str = "nitihig" আউটপুট − গণনা 4

ব্যাখ্যা − দেওয়া স্ট্রিংতে n, t, h এবং g অক্ষরগুলির একই প্রতিবেশী রয়েছে তাই গণনা 4 হবে।

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

  • স্ট্রিং ইনপুট নিয়ে str ভেরিয়েবলে সংরক্ষণ করুন
  • length() ফাংশন দিয়ে স্ট্রিং দৈর্ঘ্য গণনা করুন
  • যদি স্ট্রিং দৈর্ঘ্য ≤ 2 হয় তবে স্ট্রিং দৈর্ঘ্য হিসেবে গণনা ফেরত দিন কারণ সবই গণ্য হবে
  • যদি স্ট্রিং দৈর্ঘ্য > 2 হয়, count 2 দিয়ে আরম্ভ করুন
  • এখন i = 1 থেকে i < length-1 পর্যন্ত লুপ শুরু করুন
  • লুপের ভিতরে, যদি str[i-1] == str[i+1] হয় তবে count 1 বৃদ্ধি করুন
  • মোট count মান ফেরত দিন
  • ফলাফল প্রিন্ট করুন

উদাহরণ কোড

#include <iostream>
using namespace std;

// অক্ষর গণনা করার ফাংশন
int countChar(string st) {
    int size = st.length();
    if (size <= 2) {
        return size;
    }
    int result = 2;
    // স্ট্রিং ট্রাভার্স করুন
    for (int i = 1; i < size - 1; i++) {
        // পূর্ববর্তী এবং পরবর্তী অক্ষর একই হলে গণনা বৃদ্ধি
        if (st[i - 1] == st[i + 1]) {
            result++;
        }
    }
    // ফলাফল ফেরত দিন
    return result;
}

int main() {
    string st = "poiot";
    cout << "count is " << countChar(st);
    return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি রান করি তবে নিচের আউটপুট পাব

count is 3
  1. C++-এ অদ্বিতীয় অক্ষরযুক্ত সংযুক্ত স্ট্রিংয়ের সর্বোচ্চ দৈর্ঘ্য

  2. C++-এ Longest Substring with At Least K Repeating Characters

  3. ক্যারেক্টার রিপিটিশন সহ স্ট্রিংয়ের সব পারমুটেশন প্রিন্ট করা C++-তে

  4. C++-এ getline (string) ফাংশন