Permutation de variables

Résolu/Fermé
emna maya - 26 mars 2013 à 14:08
g4br13l Messages postés 344 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 - 26 mars 2013 à 15:19
Bonjour,


SVP, y t-il un algorithme fiable pour permuter les valeurs de deux variables sans faire appel à une troisième variable?

J'espère être claire et merci pour vos réponses.

3 réponses

Merci pour la réponse :)
1
g4br13l Messages postés 344 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 14:10
Pourquoi ne veut tu pas appeler de 3ième variable ?
0
En fait je suis en train de réviser et c'est l'une des questions d'un ancien examen :D, c'est eux qui ne veulent pas faire appel à une 3èeme variables pas moi :/
0
g4br13l Messages postés 344 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 14:12
a += b;
b = a - b;
a = a - b;
0
Utilisateur anonyme
26 mars 2013 à 14:22
Bonjour

Idée astucieuse mais en pratique...
-Ne marche pas avec des flottants (toujours approximatifs)
-sur de entiers, j'utiliserais plutôt le ou exlusif que les + et - qui peuvent (ça dépend des langages) poser des problèmes de débordement.
0
g4br13l Messages postés 344 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 14:49
Jutilise ça dans un programme et ça tourne parfais si jamais ;)
0
Pas de problème avec des entiers et un langage qui ignore les débordements, ou si tu n'utilises que des valeurs suffisamment faibles des variables.
Sans préciser ces conditions, on ne peut pas parler d'algorithme fiable comme le demande emna maya.
0
g4br13l Messages postés 344 Date d'inscription dimanche 20 février 2011 Statut Membre Dernière intervention 8 mai 2013 100
26 mars 2013 à 15:19
Bon dit comme sa oui mais il me semble pas non plus que se soir pour de grand chiffre d'apres moi il commence la programation il y a peu de temps et il a la meme question que dans mon cours ;)
0