Advertisement
Guest User

Untitled

a guest
Mar 21st, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3.  
  4. using namespace std;
  5.  
  6. class NumberAsArray
  7. {
  8. public:
  9. int getNumberOfDigits(int number){ // взимаме броя на цифрите
  10. if (number == 0) // краен случей
  11. return 1;
  12. int count = 0;
  13. while (number != 0)
  14. {
  15. count++;
  16. number /= 10;
  17. }
  18. return count;
  19. }
  20.  
  21. int* getArrayOutOfNumber(int number) {
  22. int size = this->getNumberOfDigits(number);
  23. int* resultArray = new int[size]; // създаваме динамичен масив с необходимия size
  24. if (number == 0) // краен случей
  25. {
  26. resultArray[0] = 0;
  27. return resultArray;
  28. }
  29. size_t index = size - 1; // понже /10 ни дава последната цифра , индексираме елементите отзад напред
  30. return recursionHelper(number, resultArray, index);
  31. }
  32.  
  33. void printArray(int* arr, int size) { // функция, която принтира масив
  34. cout << "[";
  35. for (size_t i = 0; i < size; i++)
  36. cout << arr[i] << ",";
  37. cout << "]" << endl;
  38. }
  39. private:
  40. int* recursionHelper(int number,int* arr,int index)
  41. {
  42. if (number == 0)
  43. return arr;
  44. arr[index] = number % 10;
  45. recursionHelper(number / 10, arr, index - 1);
  46. }
  47. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement