Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <iostream> //cin cout
- using namespace std;
- const int arraySize = 11; //резервира се място за до 11 цифрено число
- short* numberArray = new short[arraySize]; //декларация на масива, в който се държат цифрите
- short counter = 0; //необходимо при принтирането на масива
- short helper; //необходимо при принтирането на масива
- void printArray(short index)
- {
- if (index < 0) //не може индекът да е -1, -2, -3...
- return; //край на изпълнението на функцията
- cout << "a[" << index - helper << "]= " << numberArray[index] << endl; //принтиране на индекс (от 0) и стойност
- helper -= 2;//необходимо при принтирането на масива
- printArray(--index); //рекурсия, индексът намален с едно (защото отзад напред)
- }
- void division(int number, int br) //взима последната цифра на числото(number) br - индекс на масива
- //Записва последната цифра на числото в масив
- {
- if (number == 0)
- {
- return; //край на функцията
- }
- int lastDigit = number % 10; //последната цифра на числото
- numberArray[br] = lastDigit; //записване на последната цифра в масива
- int numberWithoutLastDigit = number / 10; //за да се отървем от вече записаната последна цифра
- counter++;//необходимо при принтирането на масива
- division(numberWithoutLastDigit, ++br); //рекурсия, индекът (br) увеличен с едно, числото без последната цифра
- }
- int main()
- {
- int br = 0; //служи за индекс на масива
- int number; //числото въведено от потребителя
- //cikyl dokato e vqrno
- while (1) //безкраен цикъл
- {
- cout << "vavedi estestveno chislo " << "\n";
- cin >> number;
- if (number <= 0) //ако числото е невалидно
- {
- cout << "Vavedete drugo chislo , s nula nqma da ti dam " << "\n";
- }
- else
- break; // ako chisloto e po - golqmo ot nula da izleze ot cikyla
- }
- division(number, br); //делене, записване на цифрите от числото в масив
- helper = counter - 1; //необходимо при принтирането на масива
- printArray(counter - 1); //принтиране на масива
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment