কম্পিউটার

C++ এ n বাইনারি স্ট্রিং যোগ করবেন?


এখানে আমরা দেখব কিভাবে আমরা একটি প্রোগ্রাম লিখতে পারি যা স্ট্রিং হিসাবে দেওয়া n বাইনারি সংখ্যা যোগ করতে পারে। সহজ পদ্ধতি হল বাইনারি স্ট্রিংকে তার দশমিক সমতুল্যে রূপান্তর করে, তারপরে সেগুলি যোগ করুন এবং আবার বাইনারিতে রূপান্তর করুন। এখানে আমরা ম্যানুয়ালি সংযোজন করব।

দুটি বাইনারি স্ট্রিং যোগ করতে আমরা একটি সহায়ক ফাংশন ব্যবহার করব। সেই ফাংশনটি n-1 বার n বিভিন্ন বাইনারি স্ট্রিং-এর জন্য ব্যবহার করা হবে। ফাংশনটি নিচের মত কাজ করবে।

অ্যালগরিদম

addTwoBinary(bin1, bin2)

begin
   s := 0
   result is an empty string now
   i := length of bin1, and j := length of bin2
   while i >= 0 OR j>=0 OR s is 1, do
      if i >=0 then,
         s := s + bin1[i] as number
      else
         s := s + 0
      end if
      if j >=0 then,
         s := s + bin2[j] as number
      else
         s := s + 0
      end if
      result := (s mod 2) concatenate this with result itself
      s := s/2
      i := i - 1
      j := j - 1
   done
   return result
end

উদাহরণ

#include<iostream>
using namespace std;
string addTwoBinary(string bin1, string bin2) {
   string result = "";
   int s = 0; //s will be used to hold bit sum
   int i = bin1.length() - 1, j = bin2.length() - 1; //traverse from LSb
   while (i >= 0 || j >= 0 || s == 1) {
      if(i >= 0)
         s += bin1[i] - '0';
      else
         s += 0;
      if(j >= 0)
         s += bin2[j] - '0';
      else
         s += 0;
      result = char(s % 2 + '0') + result;
      s /= 2; //get the carry
      i--; j--;
   }
   return result;
}
string add_n_binary(string arr[], int n) {
   string result = "";
   for (int i = 0; i < n; i++)
      result = addTwoBinary(result, arr[i]);
   return result;
}
main() {
   string arr[] = { "1011", "10", "1001" };
   int n = sizeof(arr) / sizeof(arr[0]);
   cout << add_n_binary(arr, n) << endl;
}

আউটপুট

10110

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

  2. C++ এ বাইনারি ট্রি প্রিন্ট করুন

  3. C++ এ বাইনারি ট্রি প্রুনিং

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