How to convert an array of digits to an integer add 1 and convert it back to an array of digits in C++

1 Answer

0 votes
#include <iostream>

int convert_array_of_digits_to_int_number(int arr[], int arr_size) {
    int n = 0;
       
    for (int i = 0; i < arr_size; i++) {
        n = n * 10 + arr[i];
    } 
      
    return n;
}
 
void convert_int_number_to_array_of_digits(int digits[], int n, int size) {
    int i = size - 1;
       
    while (n > 0) {
        digits[i] = n % 10;
        n = n / 10;
        i--;
    }
}
  
int main() {
    int arr[] = {9, 4, 6, 9};
    int arr_size = sizeof(arr) / sizeof(arr[0]);
      
    int n = convert_array_of_digits_to_int_number(arr, arr_size);
     
    n++;
     
    convert_int_number_to_array_of_digits(arr, n, arr_size);
      
    std::cout << "n = " << n << "\n";
     
    for (int i = 0; i < arr_size; i++) {
        std::cout << arr[i] << ", ";
    }
}
  
  
  
  
/*
run:
  
n = 9470
9, 4, 7, 0,
  
*/

 



answered May 6, 2024 by avibootz
...