Вроде готово. Только вы хоть комментарии прочтите в программе, чтобы смогли если спросят, что к чему, объяснить. И если не затруднит, после сдачи задачи, можежь зайти на форум и отписаться, прошло ли решение или нет?
Решение
Код:
// Написать прогу, которая по заданному натуральному числу
// определяет количество цифр в нем и их сумму.
// Протестируйте функцию десятичных чисел из некоторого диапазона от n до m.
#include <iostream>
using std::cout;
using std::cin;
using std::endl;
// Функция расчитывающая количество чисел во введённом числе...
int Rasriad(int enterNumber)
{
int n = enterNumber,
x = 0;
while(n != 0){
n /= 10;
x++;
}
return x;
}
// Функция тестирования диапазона чисел
void TestDiapason()
{
int lenght = 0,
indexRas,
decimal = 1,
summa = 0,
// значения переменных 'min' и 'max' задают границы диапазона
min = 24, // Нижняя граница диапазона (меняем на нужный)
max = 1248; // Верхняя граница диапазона (меняем на нужный)
for(; min < max; min++){
decimal = 1;
summa = 0;
// определяет количество цифр в нем и их сумму.
lenght = Rasriad(min);
for(int j = 1; j < lenght; j++)
decimal *= 10;
for(int i = 1; i <= lenght; i++){
indexRas = min / decimal % 10;
summa += indexRas;
decimal /= 10;
}
cout<<"\n Summa all numbers '"<<min<<"' = "<<summa<<endl;
}
}
int main()
{
int enterNumber,
lenght = 0,
indexRas,
decimal = 1,
summa = 0,
z;
cout<<"Enter Number: ";
cin>>enterNumber;
// определяет количество цифр в нем и их сумму.
lenght = Rasriad(enterNumber);
for(int j = 1; j < lenght; j++)
decimal *= 10;
for(int i = 1; i <= lenght; i++){
indexRas = enterNumber / decimal % 10;
summa += indexRas;
decimal /= 10;
}
cout<<"\n Summa all numbers = "<<summa<<endl;
// Протестируйте функцию десятичных чисел из некоторого диапазона от n до m.
cout<<"\n ----Proverka Diapasona on 'n' do 'm'---\n\n";
TestDiapason();
cin>>z;
return 0;
}
//---------------------------------------------------------------------------