Программа получает ** вход натуральное число, большее 9. Вывести число, которое получится...

+230 голосов
5.6m просмотров

Программа получает на вход натуральное число, большее 9. Вывести число, которое получится в результате перестановки его последней и предпоследней цифр. ЯЗЫК C++


Информатика (124 баллов) | 5.6m просмотров
Дан 1 ответ
+111 голосов

Код

  • #include
  • #include
  • #include
  • std::string switch_first_and_last(std::string N) {
  •    auto L = N.size() - 1;
  •    return N[L] + N.substr(1, L - 1) + N[0];
  • }
  • bool take_correct_number(int &number, const std::function& Q) {
  •    do {
  •        std::cin >> number;
  •        if (!Q(number)) {
  •            std::cout << "Try again." << std::endl;</li>
  •            continue;
  •        }
  •        break;
  •    } while (true);
  •    return true;
  • }
  • int main() {
  •    int number;
  •    take_correct_number(number, [](int x){return x > 9;});
  •    std::cout << switch_first_and_last(std::to_string(number)) << std::endl;</li>
  • }
(7.2k баллов)