Advertisement
AntonZhiyanov

Untitled

Oct 5th, 2015
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. class Number{
  2.     vector<int> arr;
  3.  
  4.     public :
  5.  
  6.     Number(int i){
  7.         arr.clear();
  8.         while (i != 0){
  9.             arr.push_back(i % 10);
  10.             i /= 10;
  11.         }
  12.     };
  13.  
  14.     ~Number(){};
  15.  
  16.     int &operator[](int j){
  17.         return arr[j];
  18.     };
  19.  
  20.     void add(Number &num){
  21.         int tmp = 0, i = 0;
  22.        
  23.         for (; i < min(getSize(), num.getSize()); ++i){
  24.             arr[i] += tmp + num[i];
  25.             tmp = arr[i] / 10;
  26.             arr[i] %= 10;
  27.         }
  28.  
  29.  
  30.         for (; i < num.getSize(); ++i){
  31.             arr.push_back(num[i] + tmp);
  32.             tmp = arr[i] / 10;
  33.             arr[i] %= 10;
  34.         }
  35.  
  36.  
  37.         while (tmp > 0 && i < getSize()){
  38.             arr[i] += tmp;
  39.             tmp = arr[i] / 10;
  40.             arr[i] %= 10;
  41.         }
  42.  
  43.         if (tmp > 0)
  44.             arr.push_back(tmp);
  45.     };
  46.  
  47.  
  48.     int getSize(){
  49.         return arr.size();
  50.     };
  51.  
  52.     void print(){
  53.         for (int i = getSize() - 1; i > -1 ; --i)
  54.             cout << arr[i];
  55.         cout << "\n";
  56.     }
  57.  
  58. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement