Wypisywanie pionowo cyfr podanej liczby

0

Witam, mam problem z jednym zadaniem z C++. Wykorzystując rekurencję mam napisać program, który pionowo wypisze cyfry wprowadzonej liczby. Mam gotowy program, lecz wypisuje on cyfry w odwróconej kolejności. Poniżej zamieszczam kod.

#include <iostream>

using namespace std;

int main() {
int n,r;

    cout<<"Wprowadz liczbe:";
    cin>>n;

    while(n!=0)
    {
         r=n%10;
         n=n/10;
         
         cout<<r<<endl;
    }
    
    return 0;
}
0

Ok a gdzie rekurencja?

Edit.
A czego się spodziewasz, przecież robisz modulo, więc będziesz dostawać od tyłu cyfry. Jedno z rozwiązań to zapisywać sobie do tablicy i potem odwrócić

0

Dobra, wszystko wypadło mi z głowy ostatnio, poradziłem już sobie.

0
void shw_digits(unsigned n,bool reverse,bool skipzero=false)
{
    if((!n)&&(!skipzero)) return;
    int next=n/10;
    if(!reverse) digits(next,reverse,true);
    cout<<(n-next*10)<<endl;
    if(reverse) digits(next,reverse,true);
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1