• программа с использованием рекурсии и контейнера list на языке C++ Изменить/упростить код #include using namespace std; int translateNumberSystem(int num, int p) { if (num == 0) { return 0; } return (num % p + 10 * translateNumberSystem(num / p, p)); } int main() { int num = 0; cout << "Введи натуральное число: "; cin >> num; int p = 0; cout << "\nВведи систему счисления (от 2 до 9): "; cin >> p; while (p < 2 || p > 9) { cout << "\nНужно ввести сист. счисления от 2 до 9: " << endl; cin >> p; } int result = translateNumberSystem(num, p); cout << "Число " << num << " в системе счисления " << p << " равно: " << result; return 0; }

Ответы 1

  • #include <iostream>

    #include <vector>

    using namespace std;

    void translateNumberSystem(int num, int p, vector<int>& result)

    {

       if (num == 0)

       {

           return;

       }

       translateNumberSystem(num / p, p, result);

       result.push_back(num % p);

    }

    int main()

    {

       int num = 0;

       cout << "Введите натуральное число: ";

       cin >> num;

       int p = 0;

       cout << "\nВведите систему счисления (от 2 до 9): ";

       cin >> p;

       while (p < 2 || p > 9)

       {

           cout << "\nНужно ввести сист. счисления от 2 до 9: " << endl;

           cin >> p;

       }

       vector<int> result;

       translateNumberSystem(num, p, result);

       cout << "Число " << num << " в системе счисления " << p << " равно: ";

       for (int i = result.size() - 1; i >= 0; i--)

       {

           cout << result[i];

       }

       return 0;

    }

  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years