Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

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++ में दो बाइनरी ट्री मर्ज करने का प्रोग्राम

    मान लीजिए कि हमारे पास दो बाइनरी पेड़ हैं और विचार करें कि जब हम उनमें से एक को दूसरे को कवर करने के लिए रखते हैं, तो दो पेड़ों के कुछ नोड्स ओवरलैप हो जाते हैं जबकि अन्य ओवरलैपिंग होते हैं। हमें उन्हें एक नए बाइनरी ट्री में मिलाना होगा। मर्ज नियम इस तरह है कि यदि दो नोड्स ओवरलैपिंग कर रहे हैं, तो नो

  1. सी ++ प्रोग्राम में बाइनरी सर्च?

    द्विआधारी खोज, जिसे अर्ध-अंतराल खोज, लॉगरिदमिक खोज या बाइनरी चॉप के रूप में भी जाना जाता है, एक खोज एल्गोरिथ्म है जो एक क्रमबद्ध सरणी के भीतर लक्ष्य मान की स्थिति का पता लगाता है। बाइनरी खोज लक्ष्य मान की तुलना सरणी के मध्य तत्व से करती है। यदि वे समान नहीं हैं, तो आधा जिसमें लक्ष्य झूठ नहीं बोल सकत

  1. दो बाइनरी स्ट्रिंग्स जोड़ने का प्रोग्राम, और C++ में बाइनरी स्ट्रिंग के रूप में भी वापस लौटें

    मान लीजिए कि हमारे पास दो बाइनरी स्ट्रिंग्स ए और बी हैं, हमें इन बाइनरी नंबरों को जोड़ना है और उनका योग भी एक स्ट्रिंग के रूप में निकालना है। इसलिए, यदि इनपुट a =10110, b =10010 जैसा है, तो आउटपुट 101000 होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे - रिट:=खाली स्ट्रिंग ना :=a का आकार, nb