can u help me on this prob.. LARGE NUMBER For the purposes of this problem we will define a large number as a positive whole number with at least eight digits. For example, 123456789 is a large number. Large numbers must NOT be expressed in exponential form. Write a program that: (1) asks for two inputs. WHAT IS THE FIRST LARGE NUMBER? WHAT IS THE SECOND LARGE NUMBER? and (2) then calculates the product of your two large numbers and prints; THE PRODUCT OF your first large number AND your second large number IS the calculated product. Test your program with 1234512345123451234512345 as your first large number and 9876598765987659876598765 as your second large number. Code: #include<iostream> #include<cmath> using namespace std; int product(int, int); int Array; int main() { const int SIZE=25, MES=25; int x, y; int myArray[SIZE], myarray[MES]; cout<<"Enter Your First Large Number: "<<endl; cin>>myArray[x]; cout<<"Enter Your Second Large Number: "<<endl; cin>>myarray[y]; Array=myArray[SIZE]*myarray[MES]; cout<<"The Product Of "<<myArray[SIZE]<<" and "<<myarray[MES]<<" is "<<Array<<endl; return 0; }
I'm not going to do your homework for you, but. I think the main problem is the way you are trying to store the large number. Do you understand what this problem is trying to teach you? you cannot store a really large number as an integer. so your cin line is not going to work. you need to come up with a better way of handling the integers and doing the addition/handling overflow.
I think you should treat the numbers as arrays of signed characters. Take the ordinary manual multiplication method and implement it on this data layout. For example, your algorithm will start with the least significant (rightmost) digit and multiply it by each digit in the other number, summing and computing carry as it goes. You can also consider using Karatsuba's Algorithm, you'll find a lot on internet for Karatsuba's Algorithm