Aide sur un algorithme

Résolu
Bonjour,
Salut, j-vx écrire un programme qui permet de lire un nombre et puis le convertir inversé, 164 va être 461, J'ai écrit un programme utilisant les tableaux, mais Je ne sais pas comment l'écrire, sans l'utilisation de tableaux, et merci

1 réponse

  1. Il y aurait cette solution, si j'ai bien compris ton problème :

    Val    : Valeur de départ   
    ValInv : Résultat   
    
      Tant que Val > 0 fait   
        ValInv = ValInv * 10   
        ValInv = ValInv + Val modulo 10   
        Val = Val div 10   
      Fin tant que   
    

    L'idée étant de récupérer chaque chiffre de la valeur en décalant vers la droite et de les insérer un à un dans le résultat en les décalant vers la gauche...
    Le chêne aussi était un gland, avant d'être un chêne
    1. Je connais très mal le C, alors je te le fais en pascal, en espérant que tu comprendras mieux comme ça :
      Function Inverse(Val : DWord): DWord; 
        begin 
          Result:= (Result * 10) + Val Mod 10; 
          Val:= Val div 10; 
        end; 
      

      Exemple :
      - 164 modulo 10 donne 4;
      - On multiplie le résultat par 10, ça donne rien pour l'instant
      - on met ce 4 dans le résultat;
      - On divise 164 par 10, il reste 16;

      - 16 modulo 10 donne 6;
      - On multiplie le résultat par 10, ça donne 40;
      - On ajoute 6 au résultat, ça donne 46;
      - On divise 164 par 10, il reste 1;
      Etc...
      Au cas où : le modulo c'est le reste de la division, en C ça s'écrit '%'
      -
    2. Merci beaucoup