Échanger deux nombres en utilisant des fonctions

C++C++Beginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

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 :


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/SyntaxandStyleGroup(["Syntax and Style"]) cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/AdvancedConceptsGroup(["Advanced Concepts"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp/FunctionsGroup -.-> cpp/function_parameters("Function Parameters") cpp/AdvancedConceptsGroup -.-> cpp/pointers("Pointers") cpp/AdvancedConceptsGroup -.-> cpp/references("References") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/IOandFileHandlingGroup -.-> cpp/user_input("User Input") cpp/IOandFileHandlingGroup -.-> cpp/files("Files") cpp/SyntaxandStyleGroup -.-> cpp/code_formatting("Code Formatting") subgraph Lab Skills cpp/function_parameters -.-> lab-96216{{"Échanger deux nombres en utilisant des fonctions"}} cpp/pointers -.-> lab-96216{{"Échanger deux nombres en utilisant des fonctions"}} cpp/references -.-> lab-96216{{"Échanger deux nombres en utilisant des fonctions"}} cpp/output -.-> lab-96216{{"Échanger deux nombres en utilisant des fonctions"}} cpp/user_input -.-> lab-96216{{"Échanger deux nombres en utilisant des fonctions"}} cpp/files -.-> lab-96216{{"Échanger deux nombres en utilisant des fonctions"}} cpp/code_formatting -.-> lab-96216{{"Échanger deux nombres en utilisant des fonctions"}} end

Créez un nouveau fichier C++

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

Échanger deux nombres en utilisant la passation par valeur

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

Échanger deux nombres en utilisant la passation par référence

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

Code complet pour le fichier main.cpp

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*/
}

Exécutez le code

Enregistrez le fichier, ouvrez le terminal et tapez la commande suivante pour exécuter le code :

g++ main.cpp -o main &&./main

Résumé

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++.