Задать вопрос
@SHAMELESSLY

Сделать трассировку кода по примеру на картинке с++?

#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;
}
Скриншот фрагмента кода удалён модератором.
  • Вопрос задан
  • 141 просмотр
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Нужен еще один аргумент. Типа глубина рекурсии чтоб делать отступы. Ну и внутри функции печатать на экран. Чем больше level тем больше отступ от левого края.

int translateNumberSystem(int num, int p, int level)
{
    if (num == 0)
    {
        return 0;
    }
    return (num % p + 10 * translateNumberSystem(num / p, p, level + 1));
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы