Ce programme prend trois entiers de l'utilisateur et les échange dans un ordre cyclique à l'aide de pointeurs.
Pour comprendre cet exemple, vous devez avoir la connaissance des rubriques de programmation C ++ suivantes:
- Pointeurs C ++
- Appel C ++ par référence: utilisation de pointeurs (avec des exemples)
Trois variables saisies par l'utilisateur sont stockées respectivement dans les variables a, b et c.
Ensuite, ces variables sont transmises à la fonction cyclicSwap()
. Au lieu de transmettre les variables réelles, les adresses de ces variables sont transmises.
Lorsque ces variables sont permutées dans un ordre cyclique dans la cyclicSwap()
fonction, les variables a, b et c de la main
fonction sont également automatiquement permutées.
Exemple: programme pour permuter les éléments à l'aide de l'appel par référence
#include using namespace std; void cyclicSwap(int *a, int *b, int *c); int main() ( int a, b, c; cout <> a>> b>> c; cout << "Value before swapping: " << endl; cout << "a, b and c respectively are: " << a << ", " << b << ", " << c << endl; cyclicSwap(&a, &b, &c); cout << "Value after swapping numbers in cycle: " << endl; cout << "a, b and c respectively are: " << a << ", " << b << ", " << c << endl; return 0; ) void cyclicSwap(int *a, int *b, int *c) ( int temp; temp = *b; *b = *a; *a = *c; *c = temp; )
Production
Entrez la valeur de a, b et c respectivement: 1 2 3 Valeur avant échange: a = 1 b = 2 c = 3 Valeur après échange de nombres dans le cycle: a = 3 b = 1 c = 2
Notez que nous n'avons renvoyé aucune valeur de la cyclicSwap()
fonction.