Написать программу для решения задачи (все в одной программе). Показать диалог с...

0 голосов
9 просмотров

Написать программу для решения задачи (все в одной программе). Показать диалог с пользователем (вывод сообщений и полученных значений). Введено трехзначное число X А) вывести цифры этого числа (а, b, с) Б) проверить, образуют ли цифры этого числа палиндром? В) образуют ли цифры данного числа возрастающую последовательность? Г) определить и вывести максимальную цифру данного числа Д) определить сумму чисел полученного числа (S) Е) определить, является ли число S четным и кратным 3 Ж) определить принадлежит ли число S интервалу (10 З) вывести перевертыш этого числа (справа налево)


Информатика (12 баллов) | 9 просмотров
0

какой язык?

0

Какой уровень у вопроса?Через телефон, увы, не видно.

Дан 1 ответ
0 голосов

Не стал сильно напрягаться и накидал все в std::basic_string.

Компилировать с -std=c++14 (или выше).

#include

#include

#include

#include

int main()

{

   std::string X;//предполагается, что X - положительное целое.

   std::cin >> X;


   std::cout << "A) ";</p>

   for(auto& i : X)

       std::cout << i << " ";</p>

   std::cout << std::endl;</p>

   std::cout << "Б) " << std::boolalpha << (*X.crbegin() == *X.crbegin()) << std::endl;</p>

   std::cout << "В) " << std::boolalpha << std::is_sorted(X.cbegin(), X.cend()) << std::endl;</p>

   std::cout << "Г) " << *std::max_element(X.begin(), X.end(), [](const auto& var1, const auto& var2)</p>

   {

       return ((static_cast(var1) - '0') < (static_cast(var2) - '0'));

   }) << std::endl;</p>

   {

       int temp(std::accumulate(X.begin(), X.end(), 0, [](auto& var1, auto& var2)

           {

               return var1 + (static_cast(var2) - '0');

           }));

       std::cout << "Д) " << temp << std::endl;</p>

       std::cout << "Е) " << std::boolalpha << ((temp % 2 == 0) && (temp % 3 == 0))</p>

                 << std::endl;</p>

       #define _BEGIN 10 // начало диапазона

       #define _END 100 // конец диапазона (_BEGIN; _END)

       std::cout << "Ж) " <<std::boolalpha << (temp > _BEGIN && temp < _END)

                 << std::endl;</p>

   }

   std::cout << "З) ";</p>

   std::copy(X.crbegin(), X.crend(),

             std::ostream_iterator(std::cout, ""));

   std::cout << std::endl;</p>

   return 0;

}



image
(4.0k баллов)