Oto mój kod:
#include <iostream>
using namespace std;
int how_many_digits(int n)
{
int i = 0;
while (n > 0)
{
n /= 10;
i++;
}
return i;
}
int main()
{
int numberOfTests, number, sumOfDigits = 0;
int *digits;
cin >> numberOfTests;
for (int i = 1; i <= numberOfTests; i++)
{
cin >> number;
cout << how_many_digits(number) << endl;
digits = new int[how_many_digits(number)];
for (int j = 0; j < how_many_digits(number); j++)
{
cout << j << endl;
digits[j] = number % 10;
number /= 10;
sumOfDigits += digits[j];
}
cout << sumOfDigits << endl;
delete[] digits;
}
return 0;
}
Dla liczby 123123123 how_many_digits(number)
wynosi 9, a pętla z "j" wykonuje się tylko 5 razy. Według mnie pętla powinna się wykonać 9 razy.