Advertisement
tobast

Untitled

Oct 14th, 2012
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.82 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. #define SIZE_BUFFER 11 // = arrondi_supérieur( log10 (2^31) ) + 1, par définition un int ne peut pas être plus grand.
  5.  
  6. /*
  7. // Version itérative
  8. void numToArray(int num, int* buffer)
  9. {
  10.     int pos=0;
  11.     while(num > 0)
  12.     {
  13.         buffer[pos] = num % 10;
  14.         num /= 10;
  15.         pos++;
  16.     }
  17.     buffer[pos] = -1; // caractère d'arrêt
  18. }
  19. // */
  20.  
  21. //*
  22. // Version récursive
  23. void numToArray(int num, int* buffer)
  24. {
  25.     if(num <= 0)
  26.     {
  27.         buffer[0] = -1;
  28.         return;
  29.     }
  30.  
  31.     buffer[0] = num % 10;
  32.     numToArray(num/10, buffer+1);
  33. }
  34. // */
  35.  
  36. // Main basique : input un nombre, appelle la fonction et affiche le tableau pour check.
  37. int main(void)
  38. {
  39.     int input;
  40.     scanf("%d", &input);
  41.  
  42.     int buffer[SIZE_BUFFER];
  43.     numToArray(input,buffer);
  44.    
  45.     int pos=0;
  46.     for(pos=0; pos<SIZE_BUFFER; pos++)
  47.         printf("%d ", buffer[pos]);
  48.     printf("\n");
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement