Как вывести значения в обратном порядке? Здравствуйте. Прохожу заново материал по книге Дейтелов, есть задание: перевод из десятичной в другие системы счисления. Перевод из 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 << flush; } Суть в том, что нужно этот вывод записать в обратном порядке, как это сделать, с учетом того, что на момент прочтения главы массивы не пройдены, строки тоже. Т.е. в принципе про реверс вывода ничего не было. Как можно осуществить, может как-то с мат. точки зрения?
Для вывода значений в обратном порядке можно использовать рекурсию. Вместо непосредственного вывода значения в цикле, вы можете вызвать функцию, которая рекурсивно вызывает саму себя до тех пор, пока число не станет меньше основания системы счисления, а затем выводит это число.
Вот пример кода с использованием рекурсии:
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, а затем выводит это число в обратном порядке.
Для вывода значений в обратном порядке можно использовать рекурсию. Вместо непосредственного вывода значения в цикле, вы можете вызвать функцию, которая рекурсивно вызывает саму себя до тех пор, пока число не станет меньше основания системы счисления, а затем выводит это число.
Вот пример кода с использованием рекурсии:
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, а затем выводит это число в обратном порядке.