Написать программку с внедрением классов на С++. Дано естественное число n
Написать программу с внедрением классов на С++. Дано естественное число n (nlt;10000). Найти сколько цифр в числе, чему одинакова сумма его цифр, отыскать последнюю цифру числа. На СИ++, не на паскаль
Задать свой вопрос1 ответ
Егор Аникульчук
include lt;iostreamgt;
include lt;math.hgt;
using namespace std;
class NumHandler
int number;
public:
NumHandler(int n): number(n)
int getDigitCount()
int ret = 1, tested = 1, div;
while (true)
div = (int) number / tested;
if (div == 0)
return ret - 1;
else
ret++;
tested *= 10;
int getDigitSum()
int ret = 0,
tenMult = pow(10, getDigitCount() - 1),
div;
while (tenMult gt;= 1)
div = (int) number % (tenMult * 10) / tenMult;
ret += div;
tenMult /= 10;
return ret;
int getLastDigit()
return number % 10;
;
int main()
int num;
cout lt;lt; "n = ";
cin gt;gt; num;
NumHandler handler(num);
cout lt;lt; endl;
cout lt;lt; "Число цифр: " lt;lt; handler.getDigitCount() lt;lt; endl;
cout lt;lt; "Сумма цифр: " lt;lt; handler.getDigitSum() lt;lt; endl;
cout lt;lt; "Последняя цифра: " lt;lt; handler.getLastDigit() lt;lt; endl;
return 0;
include lt;math.hgt;
using namespace std;
class NumHandler
int number;
public:
NumHandler(int n): number(n)
int getDigitCount()
int ret = 1, tested = 1, div;
while (true)
div = (int) number / tested;
if (div == 0)
return ret - 1;
else
ret++;
tested *= 10;
int getDigitSum()
int ret = 0,
tenMult = pow(10, getDigitCount() - 1),
div;
while (tenMult gt;= 1)
div = (int) number % (tenMult * 10) / tenMult;
ret += div;
tenMult /= 10;
return ret;
int getLastDigit()
return number % 10;
;
int main()
int num;
cout lt;lt; "n = ";
cin gt;gt; num;
NumHandler handler(num);
cout lt;lt; endl;
cout lt;lt; "Число цифр: " lt;lt; handler.getDigitCount() lt;lt; endl;
cout lt;lt; "Сумма цифр: " lt;lt; handler.getDigitSum() lt;lt; endl;
cout lt;lt; "Последняя цифра: " lt;lt; handler.getLastDigit() lt;lt; endl;
return 0;
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо
Разные вопросы.
Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных
Разные вопросы.
Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей
Математика.
Определить предложения какие они по цели высказывания и по интонации
Русский язык.
"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.
Русский язык.
на одной грядке коротышки посадили 3 ряда морковок по 8 штук
Разные вопросы.
эссе на тему какое образование дается в каждой семье
Қазақ тiлi.
Put the verb in brackets into the Present Indefinite.
1The Volga ,
Английский язык.
Сколько стоит коктейль молочный? Точную цену надо?
Математика.
Составить рассказ Из чего складывался культ монарха помазанника Божьего?
История.
Облако тегов