CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] La permutation ?

ChasseEtPeche
ChasseEtPeche
Niveau 9
13 octobre 2013 à 20:53:28

Bonsoir,

Voilà je débute dans la programmation et on me demande de faire en sorte que :
a=>b
b=>c
c=>a

Donc par exemple a=58 b=32 c=40 => a=32 b=40 c=58

Excusez-moi ça doit vous paraître simple mais je bloque pas mal dessus :( ( c'est la première fois dont je me sers de pastebin j'espere que ça marchera )

Voilà le programme en question : http://pastebin.com/hv0B8cgc

Je vous remercie d'avance :)

ryviel
ryviel
Niveau 5
13 octobre 2013 à 22:16:45

Qu'est ce qui te poses problème exactement dans cette permutation ?

Un conseil que j'ai pu donner assez régulièrement: Il faut arriver à écrire ce que tu fais implicitement dans ta tête.
Si on raisonne sur seulement deux valeurs: Ce que tu fais directement, c'est d'inverser les deux valeurs valeurs. Mais un mécanisme est caché: la mémoire!

Il faut juste que tu appliques ce mécanisme de mémoire dans ton programme.

ChasseEtPeche
ChasseEtPeche
Niveau 9
13 octobre 2013 à 22:23:04

Eh bien c'est que je ne connais pas bien les commandes.. Je suis un TRES gros débutant. :/

vive_cod4
vive_cod4
Niveau 9
13 octobre 2013 à 22:28:46

Donc tu as trois variables que tu veux permuter. Je t'expose le problème :

On souhaite faire a => b, b => c, c => a

Si tu fais dans la logique, voici ce qui se passe :

b = a
c = b
a = c

Aïe, la seule valeur correcte est b. Le problème ? L'ancienne valeur de B et C n'est pas stockée. Dans ce cas, pour faire très simple, il faut rajouter un certain nombre de variable (à toi de voir combien).

ryviel
ryviel
Niveau 5
13 octobre 2013 à 22:29:14

Dans ta tête, voici ce qu'il se passe pour deux valeurs:
1. a=1 et c=2
2. Je dois inverser, comment faire?
3. Je mémorise que a=1.
4. Maintenant je dis que a=c, sans oublier que a=1 à la base.
5. On a maintenant a=2 et c=2
6. Il faut mettre la valeur de a dans c maintenant. Si on met la valeur actuelle de a, rien ne changera. Il faut donc mettre l'ancienne valeur de a qui a été mémorisée.

Ce qu'il faut donc faire, c'est d'avoir un entier qui va te servir de "mémoire tampon". De cette manière, tu as un moyen de stocker une valeur, avant de pouvoir la modifier.
Je te laisse faire pour 3 variables.

ChasseEtPeche
ChasseEtPeche
Niveau 9
13 octobre 2013 à 22:50:57

Je vous assure que j'essaie de comprendre mais pour le moment je patauge ! Cependant je vous remercie grandement de m'aider :)

ChasseEtPeche
ChasseEtPeche
Niveau 9
13 octobre 2013 à 22:54:47

( et je tiens aussi a vous remerciez de ne pas me donner la réponse directement sachant que je suis un cours je préfère apprendre la méthode plutot que de recopier bêtement )

Sporophore
Sporophore
Niveau 5
13 octobre 2013 à 23:32:21

Tu as deux éprouvettes A et B contenant chacune une solution propre.

Tu souhaites permuter leur contenu, c'est-à-dire faire en sorte que l'éprouvette A contienne le contenu actuel de l'éprouvette B et que l'éprouvette B contienne celui de A.

Comment t'y prends-tu ?

Maintenant que tu as la technique pour deux éprouvettes, tu n'as plus qu'à l'appliquer pour trois.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment