Informatică, întrebare adresată de anagoldan, 9 ani în urmă

HELP
Să se scrie o funcție C++ care să realizează permutarea circulară spre stânga a cifrelor unui număr natural. Numărul este transmis prin intermediul unui parametru care se întoarce din funcție modificat.


artur99: un exemplu?
anagoldan: gen este numarul n=12345 si dupa permutarea la stanga cu o pozitie k,aici presupunand ca k=1, n va fi egal cu 23451
artur99: da, dar in cerinta nu ai spus nimic de k
anagoldan: k se afla doar in algoritmul de permutare.....asa e cerinta, gen cifrele numarului trebuie mutate la stanga, folosind funtii procedurale
artur99: aaa, ok...

Răspunsuri la întrebare

Răspuns de artur99
32

int permutarenr(int n){
    int t=n,nr=0,d=1;
    while(t>10){
        nr+=(t%10)*d;
        d*=10;
        t/=10;
    }
    nr=nr*10+t;
    return nr;
}

anagoldan: Multumesc mult !
artur99: cp
Răspuns de AntiEaglesDavids
11
Poti incerca si asta (iti va trebui <cmath> dar daca vrei poti sa-ti faci singur functiile pow si log10 daca nu vrei sa folosesti alta librarie):

int f(int n)
{
    int div = (float)pow(10, int(log10(n)));
    return (n % div) * 10 + n / div;
}

Alte întrebări interesante