Как вывести значения в обратном порядке? Здравствуйте.
Прохожу заново материал по книге Дейтелов, есть задание: перевод из десятичной в другие системы счисления.
Перевод из q10 в q2int q = 2; // основание системы счисления
int N = 13; // число
int r = 0; // остаток
while (N > q) {
r = N % q;
N = N / q;
cout << r;
if (N < q) {
cout << N;
}
cout <

21 Авг 2019 в 06:28
168 +1
0
Ответы
1

Для вывода значений в обратном порядке можно использовать рекурсию. Вместо непосредственного вывода значения в цикле, вы можете вызвать функцию, которая рекурсивно вызывает саму себя до тех пор, пока число не станет меньше основания системы счисления, а затем выводит это число.

Вот пример кода с использованием рекурсии:

void convertToBase(int N, int q) {
if (N < q) {
cout << N;
return;
}
int r = N % q;
N = N / q;
convertToBase(N, q);
cout << r;
}
int main() {
int q = 2; // основание системы счисления
int N = 13; // число
convertToBase(N, q);
return 0;
}

Этот код сначала вызывает функцию convertToBase с числом N и основанием q. Функция рекурсивно вызывает саму себя, пока число N не станет меньше основания системы счисления q, а затем выводит это число в обратном порядке.

20 Апр 2024 в 13:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир