screbok
@screbok

Как вывести значения в обратном порядке?

Здравствуйте.

Прохожу заново материал по книге Дейтелов, есть задание: перевод из десятичной в другие системы счисления.

Перевод из q10 в q2
int 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;
    }


Суть в том, что нужно этот вывод записать в обратном порядке, как это сделать, с учетом того, что на момент прочтения главы массивы не пройдены, строки тоже. Т.е. в принципе про реверс вывода ничего не было. Как можно осуществить, может как-то с мат. точки зрения?
  • Вопрос задан
  • 631 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Для такого надо сначала найти максимальный разряд числа в указанной системе счисления а затем уже выводить в нужном порядке. И привыкайте давать переменным значащие имена, иначе потом сами будете путаться.
int value = 13;
int base = 2;
int rank = 1;
while (rank*base <= value)
  rank *= base;
while (rank) {
  printf("%d", value/rank);
  value %= rank;
  rank /= base;
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
15432
@15432
Системный программист ^_^
Записать значения в вектор, а потом вывести в любом порядке
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы