Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- class superlong
- {
- private:
- int arrayLength;
- public:
- /*extern*/ int intArray[1000];
- superlong() { for (int i = 0; i < 1001; i++) intArray[i] = 0;}
- void get();
- void get(string s);
- void give();
- void give(string& s);
- int length();
- superlong operator+(superlong op2);
- };
- int main()
- {
- superlong new2, new1, new3;
- new1.get();
- new2.get();
- cout << new1.length();
- new3 = new1 + new2;
- //new3.give();
- return 0;
- }
- void superlong::get()
- {
- string s = "";
- cin >> s;
- // int intArray[s.length()];
- for (int i = 0; i < s.length(); i++)
- {
- intArray[i] = s[s.length() - i - 1] - '0';
- }
- arrayLength = s.length();
- }
- void superlong::get(string s)
- {
- // int intArray[s.length()];
- for (int i = 0; i < s.length(); i++)
- {
- intArray[i] = s[s.length() - i - 1] - '0';
- }
- arrayLength = s.length();
- }
- void superlong::give()
- {
- for (int i = arrayLength - 1; i >= 0; i--)
- cout << intArray[i];
- }
- void superlong::give(string& s)
- {
- for (int i = arrayLength - 1; i >= 0; i--)
- s += intArray[i];
- }
- int superlong::length()
- {
- return arrayLength;
- }
- superlong superlong::operator+(superlong op2)
- {
- superlong temp;
- string s = "";
- op2.give(s);
- temp.get(s);
- for (int i = 0; i < max(op2.length(), arrayLength); i++)
- temp.intArray[i] += intArray[i];
- for (int i = 0; i < max(op2.length(), arrayLength); i++)
- if (temp.intArray[i] > 9)
- {
- temp.intArray[i+1] += intArray[i] / 10;
- temp.intArray[i] %= 10;
- }
- return temp;
- }
Advertisement
Add Comment
Please, Sign In to add comment