Ответ:
#include <iostream>
unsigned long reverse(unsigned long n, unsigned long& summa)
{ // n - передается по значению, summa - по ссылке, чтобы возвратить ее значение
int r, ni, nn, d;
r = nn = ni = summa = 0; // обнулить все эти переменные
nn = n;
d = 1;
while (nn >= 10) { // цикл расчета множителя d
d *= 10; // d = d * 10
nn /= 10; // nn = nn / 10
}
nn = n;
while (nn > 0) {
ni = nn % 10; // остаток от деления - получаем последнюю цифру
r += ni * d; // сохраняем ее умноженной не множитель r = r + ni * d;
summa += ni; // суммирование этой цифры symma = summa + ni
d /= 10; // уменьшение множителя
nn /= 10; // отбрасывание последней цифры
}
return r;
}
using namespace std;
int main()
{
unsigned long n, r, s;
setlocale(LC_ALL, "russian");
cout << "Введите число: ";
cin >> n;
r = reverse (n, s);
cout << r << " " << s;
}