fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void sumOfTwoArrays(int arr1[], int size1, int arr2[], int size2, int sumArr[])
  5. {
  6. int maxLen;
  7. int* tArry;
  8. int l;
  9. if(size1>size2) { maxLen = size1; tArry = arr1; l = size1 - size2; }
  10. else { maxLen = size2; tArry = arr2; l = size2 - size1; }
  11.  
  12. int carry = 0;
  13.  
  14. while(size1 && size2)
  15. {
  16. carry += arr1[--size1] + arr2[--size2];
  17. sumArr[maxLen--] = carry%10;
  18. carry /= 10;
  19. }
  20.  
  21. while(l){
  22. carry += tArry[--l];
  23. sumArr[maxLen--] = carry%10;
  24. carry /= 10;
  25. }
  26. sumArr[maxLen] = carry;
  27. }
  28.  
  29. void printArray(int a[], int l)
  30. {
  31. for(int i=0; i<l; i++) cout<< a[i] << " | ";
  32.  
  33. cout<<endl;
  34. }
  35.  
  36. int main() {
  37. int a[] = {9,9,9,9,9};
  38. int b[] = {1};
  39. int l1 = sizeof(a) / sizeof(int), l2 = sizeof(b)/sizeof(int);
  40. int l3 = ((l1 > l2) ? l1 : l2) + 1;
  41. int *c = new int[l3];
  42. sumOfTwoArrays(a, l1, b, l2, c);
  43. printArray(c, l3);
  44. delete [] c;
  45. return 0;
  46. }
Success #stdin #stdout 0s 15240KB
stdin
Standard input is empty
stdout
1 | 0 | 0 | 0 | 0 | 0 |