Introduction
Dans ce laboratoire, nous allons discuter de la manière de permuter deux nombres à l'aide de fonctions en C++. Il existe deux méthodes pour résoudre ce problème à l'aide de fonctions :
💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici
Dans ce laboratoire, nous allons discuter de la manière de permuter deux nombres à l'aide de fonctions en C++. Il existe deux méthodes pour résoudre ce problème à l'aide de fonctions :
Pour commencer, créez un nouveau fichier C++ dans votre éditeur de code préféré. Vous devez fournir le chemin et le nom du fichier de code au début du laboratoire. Par exemple : ~/projet/main.cpp
.
touch ~/projet/main.cpp
En passation par valeur, les paramètres actuels sont passés lors de l'appel de la fonction, et les opérations effectuées sur les paramètres formels ne sont pas réfléchies sur les paramètres actuels. Voici comment l'implémenter :
#include<iostream>
using namespace std;
void swap(int x,int y);
/*Échange de deux nombres en C++ en utilisant la passation par valeur des fonctions*/
int main()
{
int a,b;
cout<<"Entrez les deux nombres à échanger en C++ : ";
cin>>a>>b;
cout<<"\nAprès l'échange des deux nombres :";
swap(a,b);
return 0;
}
void swap(int x,int y)
{
int z;
/*Variable supplémentaire pour stocker la valeur de la première ou de la seconde variable*/
z = x;
/*Copie de la valeur de la première variable dans la variable temporaire*/
x = y;
/*Copie de la valeur de la seconde variable dans la première variable*/
y = z;
/*Copie de la valeur de la variable temporaire dans la seconde variable*/
cout<<" "<<x<<" "<<y;
}
Pour exécuter le code, enregistrez le fichier, ouvrez le terminal et tapez la commande suivante :
g++ main.cpp -o main &&./main
En passation par référence, nous passons l'adresse du paramètre actuel dans le paramètre formel, de sorte que les modifications apportées aux paramètres formels sont réfléchies sur les paramètres actuels. Voici comment l'implémenter :
#include<iostream>
using namespace std;
void swap(int *x,int *y);
/*Échange de deux nombres en C++ en utilisant la passation par référence des fonctions*/
int main()
{
int a,b;
cout<<"Entrez deux nombres à échanger : ";
cin>>a>>b;
swap(&a,&b);
cout<<"\nAprès avoir échangé deux nombres : ";
cout<<a<<" "<<b<<" \n";
return 0;
}
void swap(int *x,int *y)
{
int z;
z = *x;
/*Copie de l'adresse de la première variable dans la variable temporaire*/
*x = *y;
/*Copie de l'adresse de la seconde variable dans la première variable*/
*y = z;
/*Copie de l'adresse de la variable temporaire dans la seconde variable*/
}
Pour exécuter le code, enregistrez le fichier, ouvrez le terminal et tapez la commande suivante :
g++ main.cpp -o main &&./main
Voici le code complet pour le fichier main.cpp
:
#include<iostream>
using namespace std;
void swap(int x,int y);
/*Échange de deux nombres en C++ en utilisant la passation par valeur des fonctions*/
void swap(int *x,int *y);
/*Échange de deux nombres en C++ en utilisant la passation par référence des fonctions*/
int main()
{
int a,b;
cout<<"Entrez le premier nombre : ";
cin>>a;
cout<<"Entrez le second nombre : ";
cin>>b;
// Méthode 1 : Passation par valeur
cout<<"\nÉchange de deux nombres en utilisant la passation par valeur\n";
swap(a,b);
// Méthode 2 : Passation par référence
cout<<"\nÉchange de deux nombres en utilisant la passation par référence\n";
swap(&a,&b);
return 0;
}
void swap(int x,int y)
{
int z;
/*Variable supplémentaire pour stocker la valeur de la première ou de la seconde variable*/
z = x;
/*Copie de la valeur de la première variable dans la variable temporaire*/
x = y;
/*Copie de la valeur de la seconde variable dans la première variable*/
y = z;
/*Copie de la valeur de la variable temporaire dans la seconde variable*/
cout<<" "<<x<<" "<<y;
}
void swap(int *x,int *y)
{
int z;
z = *x;
/*Copie de l'adresse de la première variable dans la variable temporaire*/
*x = *y;
/*Copie de l'adresse de la seconde variable dans la première variable*/
*y = z;
/*Copie de l'adresse de la variable temporaire dans la seconde variable*/
}
Enregistrez le fichier, ouvrez le terminal et tapez la commande suivante pour exécuter le code :
g++ main.cpp -o main &&./main
Dans ce laboratoire, nous avons appris à utiliser des fonctions pour échanger deux nombres en utilisant les méthodes de passation par valeur et de passation par référence en langage de programmation C++.