কম্পিউটার

C++ প্রোগ্রামে "01" বা "10" থেকে মুক্ত করতে বাইনারি স্ট্রিং-এ "01" বা "10" মুছে ফেলা


এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যেটি জোড়া (01 বা 10) জোড়া থেকে বাইনারি স্ট্রিংকে মুক্ত করার জন্য মোট সংখ্যা (01 বা 10) খুঁজে বের করে (01 এবং 10)। আসুন একটি উদাহরণ দেখি।

ইনপুট − 101010001

আউটপুট − 4

উপরের উদাহরণে, জোড়া (01 এবং 10) থেকে বাইনারি স্ট্রিং মুক্ত করতে আমাদের মোট 4 জোড়া মুছে ফেলতে হবে।

সমস্ত জোড়া মুছে ফেলার পর ফলস্বরূপ স্ট্রিং হল 0 .

আমাদের সমস্ত 01 মুছে ফেলতে হবে এবং 10 বাইনারি স্ট্রিং থেকে জোড়া। সুতরাং, মোছার মোট জোড়ার সংখ্যা সর্বনিম্ন গণনা(1) এবং গণনা(0) .

আসুন সমস্যা সমাধানের পদক্ষেপগুলি দেখি৷

  • বাইনারি স্ট্রিং শুরু করুন।

  • শূন্য এবং এক গণনা খুঁজুন।

  • শূন্য থেকে সর্বনিম্ন প্রিন্ট করুন এবং সংখ্যা গণনা করুন।

উদাহরণ

আসুন কোডটি দেখি।

#include <bits/stdc++.h>
using namespace std;
int findMinimumNumberOfDeletions(string str, int len) {
   int zeroes_count = 0, ones_count = 0;
   // counting zeroes and ones
   for (int i = 0; i < len; i++) {
      if (str[i] == '0') {
         zeroes_count++;
      }
      else {
         ones_count++;
      }
   }
   return min(zeroes_count, ones_count);
}
int main() {
   string str = "101010001";
   int len = str.length();
   cout << findMinimumNumberOfDeletions(str, len) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের প্রোগ্রামটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

4

উপসংহার

টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।


  1. C++ এ স্ট্রিং থেকে বাইনারি ট্রি তৈরি করুন

  2. C++ এ দুটি বাইনারি স্ট্রিং যোগ করার জন্য প্রোগ্রাম

  3. C++ প্রোগ্রামে বাইনারি অনুসন্ধান?

  4. একটি স্ট্রিং থেকে স্পেস মুছে ফেলার জন্য C++ প্রোগ্রাম?