Не стал сильно напрягаться и накидал все в std::basic_string<char>.
Компилировать с -std=c++14 (или выше).
#include <iostream>
#include <algorithm>
#include <numeric>
#include <iterator>
int main()
{
std::string X;//предполагается, что X - положительное целое.
std::cin >> X;
std::cout << "A) ";
for(auto& i : X)
std::cout << i << " ";
std::cout << std::endl;
std::cout << "Б) " << std::boolalpha << (*X.crbegin() == *X.crbegin()) << std::endl;
std::cout << "В) " << std::boolalpha << std::is_sorted(X.cbegin(), X.cend()) << std::endl;
std::cout << "Г) " << *std::max_element(X.begin(), X.end(), [](const auto& var1, const auto& var2)
{
return ((static_cast<int>(var1) - '0') < (static_cast<int>(var2) - '0'));
}) << std::endl;
{
int temp(std::accumulate(X.begin(), X.end(), 0, [](auto& var1, auto& var2)
{
return var1 + (static_cast<int>(var2) - '0');
}));
std::cout << "Д) " << temp << std::endl;
std::cout << "Е) " << std::boolalpha << ((temp % 2 == 0) && (temp % 3 == 0))
<< std::endl;
#define _BEGIN 10 // начало диапазона
#define _END 100 // конец диапазона (_BEGIN; _END)
std::cout << "Ж) " <<std::boolalpha << (temp > _BEGIN && temp < _END)
<< std::endl;
}
std::cout << "З) ";
std::copy(X.crbegin(), X.crend(),
std::ostream_iterator<const char>(std::cout, ""));
std::cout << std::endl;
return 0;
}