Пример #1
0
string addBinary(string a, string b) {
    int sza = a.size();
    int szb = b.size();
    if(sza == 0){
        return b;
    }
    if(szb == 0){
        return a;
    }
    int sz = max(sza, szb);
    string ret(sz+1, '0');
    char carry = '0';
    while(sza > 0 && szb > 0){
        char aa = a[sza-1];
        char bb = b[szb-1];
        ret[sz] = addtwo(aa, bb, carry);
        sza--;
        szb--;
        sz--;
    }
    if(sza == 0 && szb != 0){
        while(szb > 0){
            char bb = b[szb-1];
            ret[sz] = addtwo('0', bb, carry);
            szb--;
            sz--;
        }
    }
    else if(sza != 0 && szb == 0){
        while(sza > 0){
            char aa = a[sza-1];
            ret[sz] = addtwo('0', aa, carry);
            sza--;
            sz--;
        }
    }
    if(carry == '0'){
        return string(ret.begin()+1, ret.end());
    }
    else{
        ret[sz] = carry;
    }
    return ret;
}
Пример #2
0
int main(void)
{
	int num[3][5]={
		{1, 2, 3, 4, 5}, {6, 7, 8, 9, 10}, {11, 12, 13, 14, 15}
	};
	printarry(num, 3);
	addtwo(num, 3);
	printarry(num, 3);	
	
}
int main(int argc, char *argv[]){
  printf("%d\n", addtwo(10)); //prints 12
}
Пример #4
0
int main(){
int c  = 0;
	c = addtwo(1,2);
		return 0;
}