fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. void add(int a[], int b[]) {
  5. int carry = 0;
  6. int maxLength = max(a[0], b[0]);
  7. int sum[1000] = {0};
  8. for (int i = 1; i <= maxLength; ++i) {
  9. int digitA, digitB;
  10. if (i <= a[0]) {
  11. digitA = a[i];
  12. } else {
  13. digitA = 0;
  14. }
  15. if (i <= b[0]) {
  16. digitB = b[i];
  17. } else {
  18. digitB = 0;
  19. }
  20. int sumDigits = digitA + digitB + carry;
  21. a[i] = sumDigits % 10;
  22. carry = sumDigits / 10;
  23. }
  24. if (carry > 0) {
  25. a[maxLength + 1] = carry;
  26. a[0] = maxLength + 1;
  27. } else {
  28. a[0] = maxLength;
  29. }
  30. }
  31.  
  32. int main() {
  33. int a[] = {5, 1, 2, 2, 5, 8};
  34. int b[] = {6, 2, 2, 2, 6, 7, 8};
  35. add(a, b);
  36. for (int i = a[0]; i >= 1; --i) {
  37. cout << a[i];
  38. }
  39. cout << endl;
  40. return 0;
  41. }
  42.  
Success #stdin #stdout 0s 5264KB
stdin
Standard input is empty
stdout
961443