Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- std::string _add(std::string a, std::string b)
- {
- std::string temp = ""; //return value
- std::string* bigger_string;
- if (a.length() >= b.length()) bigger_string = &a;
- else bigger_string = &b;
- std::string * smaller_string;
- if (b.length() <= a.length()) smaller_string = &b;
- else smaller_string = &a;
- std::reverse(bigger_string->begin(), bigger_string->end());
- std::reverse(smaller_string->begin(), smaller_string->end());
- int buffor = 0;
- for (int i = 0; i < smaller_string->length(); i++)
- {
- int _a = (int)(*bigger_string)[i] - 48;
- int _b = (int)(*smaller_string)[i] - 48;
- int _temp = _a + _b + buffor;
- temp += std::to_string(_temp % 10);
- buffor = _temp / 10;
- }
- for (int i = smaller_string->length(); i < bigger_string->length(); i++)
- {
- int _a = (int)(*bigger_string)[i] - 48;
- int _temp = _a + buffor;
- temp += std::to_string(_temp % 10);
- buffor = _temp / 10;
- }
- if (buffor > 0)
- {
- temp += std::to_string(buffor);
- }
- std::reverse(temp.begin(), temp.end());
- return temp;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement