Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- void set(int a[], int b[], int c[], int d[]);
- void mult(int a[], int b[], int c[], int d[], int index, int index2);
- void copy(int c[], int j);
- void madd(int d[], int c[]);
- void add(int a[], int b[], int c[], int index);
- const int size = 10000;
- int main ()
- {
- int index, index2, *m, n, o, p, f;
- index = 0;
- index2= 0;
- int a[size], b[size], c[size], d[size];
- set(a, b, c, d);
- m = new int(0);
- cout << "Please enter in 2 numbers seperated by a space: ";
- cin >> m >> o;
- if (o > m)
- {
- int temp;
- temp = o;
- o = m;
- m = temp;
- }
- for (index; m > 0; index++)
- {
- n = m % 10;
- m = m / 10;
- a[index] = n;
- }
- for (index2; o > 0; index2++)
- {
- p = o % 10;
- o = o / 10;
- b[index2] = p;
- }
- mult(a, b, c, d, index, index2);
- add(a, b, c, index);
- for ( f = (size - 1); f >= 0; f--)
- {
- if (d[f] != 0)
- break;
- }
- for (int fun = (f); fun >= 0; fun--)
- {
- cout << d[fun];
- }
- cout << endl;
- for (f = (size - 1); f >= 0; f--)
- {
- if (c[f] != 0)
- break;
- }
- for (int fun = (f); fun >= 0; fun--)
- {
- cout << c[fun];
- }
- }
- void set(int a[], int b[], int c[], int d[])
- {
- for (int i = 0; i < size; i++)
- {
- a[i] = 0;
- b[i] = 0;
- c[i] = 0;
- d[i] = 0;
- }
- }
- void mult(int a[], int b[], int c[], int d[], int index, int index2)
- {
- for (int j = 0; j < index2; j++)
- {
- int z = 0;
- for (int i = 0; i <= (index); i++)
- {
- c[i] = (a[i] * b[j]) + z;
- if (c[i] > 9)
- {
- z = (c[i] / 10);
- c[i] = (c[i] % 10);
- }
- else
- {
- z = 0;
- }
- }
- if (j > 0)
- copy(c, j);
- madd(d, c);
- }
- }
- void copy(int c[], int j)
- {
- int *p;
- p = new int[1000000];
- for (int i = 0; i < size; i++)
- {
- p[i] = 0;
- }
- for (int i = 0; i < size; i++)
- {
- p[i+j] = c[i];
- }
- for (int i = 0; i < size; i++)
- {
- c[i] = p[i];
- }
- delete [] p;
- }
- void madd(int d[], int c[])
- {
- int z;
- z = 0;
- for (int i = 0; i < size; i++)
- {
- d[i] = d[i] + c[i] + z;
- if (d[i] > 9)
- {
- z = (d[i] / 10);
- d[i] = (d[i] % 10);
- }
- else
- {
- z = 0;
- }
- }
- for (int i = 0; i < size; i++)
- {
- c[i] = 0;
- }
- }
- void add(int a[], int b[], int c[], int index)
- {
- int z = 0;
- for (int i = 0; i <= index; i++)
- {
- c[i] = a[i] + b[i] + z;
- if (c[i] > 9)
- {
- z = (c[i] / 10);
- c[i] = (c[i] % 10);
- }
- else
- {
- z = 0;
- }
- }
- }
Add Comment
Please, Sign In to add comment