Bonjour à tous !
J'ai un exercice donné à mon cours d'algorithmique basé sur la récursivité. On me demande d'inverser les chiffres d'un nombre ( 1234 devient 4321). Je vois bien comment je dois le faire de manière itérative, mais je ne parviens vraiment pas à passer à une méthode récursive, j'ai beau essayer de jouer avec les modulos 10 et les divisions entière par 10, je n'arrive pas au bon résultat :/
J'ai essayé une ébauche de code, je comprends pourquoi ca ne fonctionne pas, mais je n'arrive pas à en venir au bout :/ Je n'ai trouvé nul part sur le net une solution avec un algorithme itératif :/
Mon code actuel :
Si vous avez une solution je suis preneur !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 #include<stdio.h> #include<conio.h> int Inversion(int); int main(){ int nbr, nbri; printf("Entrez un nombre a inverser : "); fflush(stdin); scanf("%d", &nbr); nbri=Inversion(nbr); printf("%d\t--->\t%d",nbr, nbri); getch(); return 0; } int Inversion(int nb){ int mod, div; mod=nb%10; div=nb/10; if(div!=0){ return 10*Inversion(div)+mod; }else{ return mod; } }
Merci d'avance
Partager