কম্পিউটার

C++ ব্যবহার করে দুটি জিরোর মধ্যে উপাদানগুলি সরানো হচ্ছে


এই নিবন্ধে, আমরা আলোচনা করব কিভাবে একটি প্রদত্ত স্ট্রিং থেকে দুটি শূন্যের মধ্যে উপাদানগুলিকে সরিয়ে ফেলা যায় যাতে শুধুমাত্র শূন্য এবং একজনের অক্ষর রয়েছে। চূড়ান্ত স্ট্রিংটিতে 0 দ্বারা বেষ্টিত কোনো অক্ষর '1' থাকা উচিত নয়। যেমন −

Input : string = “110010”
Output : “11000”
Explanation: 1 is found between two zeros at the 4th index.

Input : string = “0010”
Output : “000”
Explanation : 1 is found between two zeros at the 2nd index.

সমাধান খোঁজার পদ্ধতি

আমরা একটি সহজ পদ্ধতি প্রয়োগ করতে পারি, যেমন, একটি লুপ ব্যবহার করে স্ট্রিংটি অতিক্রম করতে পারি এবং পূর্ববর্তী এবং পরবর্তী উপাদানগুলি শূন্য কিনা তা পরীক্ষা করতে পারি; যদি হ্যাঁ, তাহলে সেই সূচকটি শূন্য নয়। এর পরে, ভেরিয়েবলটিকে একটি নতুন দৈর্ঘ্যের সাথে আপডেট করুন যা দৈর্ঘ্য সংরক্ষণ করে এবং সেই স্ট্রিংটি মুদ্রণ করে।

উদাহরণ

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

int main () {
   string str = "110010";
   int length = str.length();
   for (int i = 1; i < length - 1; i++) {
      // checking the element between two zeros
      if ((str.at (i - 1) == '0' && str.at (i + 1) == '0')) {
         // deleting the element
         // if it is found between two 0's
         str.erase (i, 1);

         i--;
         if (i > 0 && str.at (i - 1) == '0')
            i--;

            // updating the length of the string after removing the element.
         length = str.length ();
      }
   }
   cout << "String after removing elements between the two zeros: " << str;
   return 0;
}

আউটপুট

String after removing elements between the two zeros: 1100

কোড বোঝা

  • সূচী 1 থেকে (দৈর্ঘ্য - 1) স্ট্রিং দিয়ে যাওয়ার জন্য একটি লুপ ব্যবহার করা হয়।
  • ইথ সূচকের পূর্ববর্তী এবং পরবর্তী সূচী পরীক্ষা করা হচ্ছে এটি '0' এর সমান কিনা।
  • সেই সূচী থেকে সেই অক্ষরটি সরানো হচ্ছে যদি এটি '1' হয়।
  • একটি নতুন ভেরিয়েবলের সাথে দৈর্ঘ্য পরিবর্তনশীল আপডেট করা হচ্ছে।
  • লুপ শেষ হওয়ার পরে অবশেষে আপডেট করা স্ট্রিং প্রিন্ট করা হচ্ছে।

উপসংহার

এই নিবন্ধে, আমরা '0' এবং '1' অক্ষর সমন্বিত একটি স্ট্রিং থেকে দুটি শূন্যের মধ্যে উপাদানগুলি সরানোর বিষয়ে আলোচনা করেছি। আমরা একই সমাধান করার জন্য একটি C++ প্রোগ্রামও দেখি; আমরা এই প্রোগ্রামটি অন্য যেকোনো ভাষায় লিখতে পারি যেমন সি, জাভা, পাইথন ইত্যাদি। আশা করি এই নিবন্ধটি আপনার সহায়ক হবে।


  1. C++ ব্যবহার করে দুটি অ্যারের ওভারল্যাপিং যোগফল খুঁজুন

  2. কিভাবে C++ ব্যবহার করে PL/SQL এ একটি স্ট্রিং রিভার্স করবেন

  3. C++ ব্যবহার করে একটি স্ট্রিং এর সাবস্ট্রিং এর সংখ্যা খুঁজুন

  4. C++ ব্যবহার করে Nth Even Length Palindrome খুঁজুন