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; }
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 }
int main(){ int c = 0; c = addtwo(1,2); return 0; }