समस्या विवरण
इस प्रोग्राम में हमें दी गई बाइनरी संख्याओं को जोड़ना है। n बाइनरी संख्याएं हैं और हमें उन सभी को जोड़कर एक बाइनरी संख्या को आउटपुट के रूप में देना है।
उदाहरण
इनपुट: "1011", "10", "1001" आउटपुट: 10110
C++ प्रोग्राम उदाहरण
#include <iostream>
using namespace std;
string add(string b1, string b2) {
string res = "";
int s = 0;
int i = b1.length() - 1, j = b2.length() - 1;
while (i >= 0 || j >= 0 || s == 1) {
if(i >= 0)
s += b1[i] - '0';
else
s += 0;
if(j >= 0)
s += b2[j] - '0';
else
s += 0;
res = char(s % 2 + '0') + res;
s /= 2;
i--; j--;
}
return res;
}
string addbinary(string a[], int n) {
string res = "";
for (int i = 0; i < n; i++)
res = add(res, a[i]);
return res;
}
int main() {
string arr[] = { "1011", "10", "1001" };
int n = sizeof(arr) / sizeof(arr[0]);
cout << addbinary(arr, n) << endl;
}