কম্পিউটার

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


বাইনারী নম্বর সহ দুটি স্ট্রিং দেওয়া হলে, আমাদের সেই দুটি বাইনারি স্ট্রিং যোগ করে প্রাপ্ত ফলাফল খুঁজে বের করতে হবে এবং একটি বাইনারি স্ট্রিং হিসাবে ফলাফলটি ফেরত দিতে হবে।

বাইনারি সংখ্যা হল সেই সংখ্যাগুলি যেগুলিকে 0 বা 1 হিসাবে প্রকাশ করা হয়৷ 2টি বাইনারি সংখ্যা যোগ করার সময় বাইনারি যোগ করার নিয়ম রয়েছে যা যত্ন নেওয়া উচিত৷

0+0 → 0
0+1 → 1
1+0 → 1
1+1 → 0, carry 1

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

ইনপুট

str1 = {“11”}, str2 = {“1”}

আউটপুট

“100”

ইনপুট

str1 = {“110”}, str2 = {“1”}

আউটপুট

“111”

সমস্যা সমাধানের জন্য নিচের পদ্ধতিটি ব্যবহার করা হয়েছে

  • শেষ থেকে উভয় স্ট্রিং অতিক্রম করুন

  • দুটি সংখ্যার বাইনারি যোগ করুন

  • যদি দুইটি 1 থাকে তাহলে এটিকে শূন্য করুন এবং 1 বহন করুন।

  • ফলাফল ফেরত দিন।

অ্যালগরিদম

Start
Step 1→ declare function to add two strings
   string add(string a, string b)
      set string result = ""
      set int temp = 0
      set int size_a = a.size() – 1
      set int size_b = b.size() – 1
      While (size_a >= 0 || size_b >= 0 || temp == 1)
         Set temp += ((size_a >= 0)? a[size_a] - '0': 0)
         Set temp += ((size_b >= 0)? b[size_b] - '0': 0)
         Calculate result = char(temp % 2 + '0') + result
         Set temp /= 2
         Set size_a—
         Set size_b—
      End
      return result
Step 2→ In main()
   Declare string a = "10101", b="11100"
   Call add(a, b)
Stop

উদাহরণ

#include<bits/stdc++.h>
using namespace std;
//function to add two strings
string add(string a, string b){
   string result = "";
   int temp = 0;
   int size_a = a.size() - 1;
   int size_b = b.size() - 1;
   while (size_a >= 0 || size_b >= 0 || temp == 1){
      temp += ((size_a >= 0)? a[size_a] - '0': 0);
      temp += ((size_b >= 0)? b[size_b] - '0': 0);
      result = char(temp % 2 + '0') + result;
      temp /= 2;
      size_a--; size_b--;
   }
   return result;
}
int main(){
   string a = "10101", b="11100";
   cout<<"sum of strings are : "<<add(a, b);
   return 0;
}

আউটপুট

উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
sum of strings are : 110001

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

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

  3. দুটি বাইনারি স্ট্রিং যোগ করার জন্য জাভা প্রোগ্রাম

  4. দুটি বাইনারি স্ট্রিং যোগ করার প্রোগ্রাম, এবং C++ এ বাইনারি স্ট্রিং হিসাবেও ফিরে আসে