İki ikili rəqəm əlavə etmək üçün proqram

Sistem dizaynı ilə bağlı müsahibə sualları o qədər açıq ola bilər ki, düzgün hazırlaşmağı bilmək çox çətindir. İndi satın aldıqdan sonra Amazon, Microsoft və Adobe-nin dizayn dövrlərini sındıra bilirəm Bu kitabı. Gündəlik bir yenidən nəzərdən keçirin dizayn sualı və söz verirəm ki, dizayn dövrünü sındıra bilərsiniz.

İki ikili sətir verildikdə, iki ikili sətrin cəmini yazan bir funksiya yazın. burada cəm də ikili bir sətirdir

misal

INPUT
s1 = "101"
s2 = ”11 ″

ÇIXDI
res = "1000"

Alqoritm

1. Hər iki sətirdə son xarakterdən başlayın

2. Hər iki simldəki simvolları bir-bir əlavə edin, cəmi 1-dən çox olarsa, 1-i növbəti rəqəmlər üçün əlavə ediləcək daşıyıcı kimi saxlayın.

C ++ Proqramı

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


string addBinaryStrings(string s1, string s2)
{
	string res = "";
	int sum = 0, carry = 0;
	int i = s1.length()-1;
	int j = s2.length()-1;
	while(i>=0 || j>=0 || sum == 1)
	{
		//calculating the sum of both elements in s1 and s2
        //If there there is no elment in any string, just add elements from other string
	    sum = carry + (i>=0? s1[i]-'0':0) + (j>=0? s2[j]-'0':0);
	    // update carry for next calulation
        // update sum if it is greater than 1
	    if (sum>1)
	    {
	    	sum = 0;
	    	carry = 1;
	    }
	    else
	    {
	    	carry = 0;
	    }
	    //adding sum to result
	    res = char(sum + '0') + res;
	    i--;
	    j--;
	}
	if (carry == 1)
	{
		res = char(carry + '0') + res;
	}
	return res;
}

int main()
{
	string s1 = "101";
	string s2 = "11";
	cout<<addBinaryStrings(s1,s2)<<endl;
}

Yoxla

 

Crack Sistemi Dizayn Müsahibələri
Translate »