How to convert an int number into an array of int digits in C++

2 Answers

0 votes
#include <iostream>
  
void convert_number(int digits[], int n, int size) {
    int i = size - 1;
      
    while (n > 0) {
        digits[i] = n % 10;
        n = n / 10;
        i--;
    }
}
  
int main(void)
{
    int digits[] = {0,0,0,0,0,0,0,0,0,0};
    int num = 12345;
    int size = sizeof(digits) / sizeof(digits[0]);
  
    convert_number(digits, num, size);
      
    for (int i = 0; i < size; i++) {
        std::cout << digits[i] << " ";
    }
}

  
  
/*
run:
        
0 0 0 0 0 1 2 3 4 5 
   
*/

 



answered Jan 6, 2025 by avibootz
0 votes
#include <iostream>
#include <cmath> 

void convert_number(int digits[], int n, int size) {
    int len = log10(n) + 1;
    int i = len - 1;
  
    while (n > 0) {
        digits[i] = n % 10;
        n = n / 10;
        i--;
    }
}
  
int main(void)
{
    int digits[] = {0,0,0,0,0,0,0,0,0,0};
    int num = 12345;
    int size = sizeof(digits) / sizeof(digits[0]);
  
    convert_number(digits, num, size);
      
    for (int i = 0; i < size; i++) {
        std::cout << digits[i] << " ";
    }
}

  
  
/*
run:
        
1 2 3 4 5 0 0 0 0 0 
   
*/

 



answered Jan 6, 2025 by avibootz

Related questions

1 answer 98 views
2 answers 269 views
2 answers 160 views
2 answers 131 views
2 answers 272 views
2 answers 288 views
2 answers 272 views
...