Hi my professor gave my class this homework to do without giving us any notes or hints on how to do it. Im so lost and dont know where to start. I've put together some of the member function declarations and one constructor but highly doubt if they're correct.
An array can be used to store large integers one digit at a time. For example, the integer 1234 could bestoredinthearrayabysettingato1,ato2,ato3,andato4. However,for this project, you might find it more useful to store the digits backward, that is, place the least significant digit 4 in a, 3 in a, 2 in a, and the most significant digit 1 in a.
Design, implement, and test a class in which each object is a large integer with each digit stored in a separate element of a character array. You’ll also need a private member variable to keep track of the sign of the integer (perhaps a Boolean variable), and another private member variable to keep the size (or length) of the integer. The number of digits may grow as the program runs, so the class must use a character pointer (dynamic character array) as a member variable, which stores its value on the dynamic memory freestore (heap). You should also implement other appropriate operators for this class. More specifically, your class should provide default constructor, deep-copy copy constructor, overloaded constructor(s), destructor, deep-copy assignment operator, overloaded arithmetic operators, comparison operators, input and output operators. You should also have a nice driver code to test all implemented member functions and overloaded operators.
i actually want to know what i'm doing in my class.
If you don't know then it's a sure bet that we don't.
If you have specific technical questions then people will try to answer them, but no one is going to do your assignment for you. If you really do not understand the assignment then go and talk to your professor, or find some books or online materials to help you.
One of these days I'm going to think of a really clever signature.
Your constructor looks ok except that you did not take into account that the first byte might be a sign character.
I am not sure why your teacher thinks it would be better to store it backwards.
I suggest you try to create the following method next.
bool operator==(const BigInteger & arr) const;
To code it THINK (don't code) about the following cases
- The number is exactly the same.
- One number is zero, the other isn't.
- One number have more digits than the other.
- AFTER you do the above then consider what happens if the 'sign' value is set to represent a negative value.
AFTER you think about the above then attempt to code the method.
cout<<"How many digits is the number?"<<endl;
int* arr1=new int[size];
cout<<"Enter the sequence of the "<<size<<" integers"<<endl;
for(int i=0;i<size;i++) cout<<arr1[i];="" cout<<endl<<"how="" many="" digits="" is="" the="" second="" number?"<<endl;="" cin="">>size2;
int* arr2=new int[size2];
cout<<"Enter the sequence of the "<<size2<<" integers"<<endl;