Advertisement
Glenpl

subtracting two strings as numbers

Mar 7th, 2015
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.83 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. string subtracting(string, string);
  6. string str_reverse(string a)
  7. {
  8.     string b;
  9.     for(int i = a.length()-1; i >= 0; i--)
  10.         b += a[i];
  11.     return  b;
  12. }
  13.  
  14. int main()
  15. {
  16.     cout << subtracting("67437341", "67437299") << endl;
  17.     return 0;
  18. }
  19.  
  20. string subtracting(string a, string b)
  21. {
  22.     int length = max(a.length(), b.length());
  23.     a = str_reverse(a);
  24.     b = str_reverse(b);
  25.     if(a.length() != b.length())
  26.         ((a.length() > b.length()) ? (b) : (a)).resize(length, '0');
  27.     string c;
  28.     c.resize(length);
  29.  
  30.     for(int i = 0; i < length; i++)
  31.         c[i] = a[i] + '0' - b[i];
  32.  
  33.     for(int i = 0; i < length; i++)
  34.         if(c[i] < '0')
  35.         {
  36.             c[i] += 10;
  37.             c[i+1]--;
  38.         }
  39.     return str_reverse(c);
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement