Afficher une chaîne de caractères à l'envers

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, vous allez apprendre à écrire un programme C++ pour afficher une chaîne de caractères donnée à l'envers. Il existe plusieurs approches pour inverser une chaîne de caractères donnée en C++. Nous allons explorer deux méthodes différentes : en utilisant une fonction de renversement personnalisée que nous allons construire nous-mêmes, et en utilisant la fonction reverse intégrée en C++.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cpp(("C++")) -.-> cpp/BasicsGroup(["Basics"]) cpp(("C++")) -.-> cpp/ControlFlowGroup(["Control Flow"]) cpp(("C++")) -.-> cpp/FunctionsGroup(["Functions"]) cpp(("C++")) -.-> cpp/IOandFileHandlingGroup(["I/O and File Handling"]) cpp(("C++")) -.-> cpp/StandardLibraryGroup(["Standard Library"]) cpp/BasicsGroup -.-> cpp/strings("Strings") cpp/ControlFlowGroup -.-> cpp/for_loop("For Loop") cpp/FunctionsGroup -.-> cpp/function_parameters("Function Parameters") cpp/IOandFileHandlingGroup -.-> cpp/output("Output") cpp/StandardLibraryGroup -.-> cpp/string_manipulation("String Manipulation") cpp/StandardLibraryGroup -.-> cpp/standard_containers("Standard Containers") subgraph Lab Skills cpp/strings -.-> lab-96184{{"Afficher une chaîne de caractères à l'envers"}} cpp/for_loop -.-> lab-96184{{"Afficher une chaîne de caractères à l'envers"}} cpp/function_parameters -.-> lab-96184{{"Afficher une chaîne de caractères à l'envers"}} cpp/output -.-> lab-96184{{"Afficher une chaîne de caractères à l'envers"}} cpp/string_manipulation -.-> lab-96184{{"Afficher une chaîne de caractères à l'envers"}} cpp/standard_containers -.-> lab-96184{{"Afficher une chaîne de caractères à l'envers"}} end

Fonction personnalisée pour inverser une chaîne de caractères

Tout d'abord, écrivons une fonction personnalisée pour inverser une chaîne de caractères donnée. Cette fonction échangera le premier caractère avec le dernier, puis le second avec l'avant-dernier, et ainsi de suite jusqu'à ce que l'ensemble de la chaîne soit inversée.

Créez la fonction reverseStr et passez la chaîne de caractères par référence. De cette manière, nous pouvons modifier la chaîne d'origine plutôt que de retourner une nouvelle chaîne. La fonction aura une boucle for qui échangera les caractères des deux côtés de la chaîne, en progressant progressivement vers l'intérieur jusqu'à ce que l'ensemble de la chaîne soit inversée.

#include<iostream>
#include<string>
using namespace std;

void reverseStr(string& str) {
    int n = str.length();
    for (int i = 0; i < n / 2; i++) {
        swap(str[i], str[n - i - 1]);
    }
}

Utilisation de la fonction "reverse" intégrée

C++ fournit également une fonction intégrée pour inverser une chaîne de caractères, qui se trouve dans le fichier d'en-tête <algorithm>. Nous pouvons utiliser la fonction reverse() en passant la position de début et de fin de la chaîne à inverser.

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

int main() {
    string str = "hello";
    reverse(str.begin(), str.end());
    cout << str;
    return 0;
}

Test du programme

Testons le programme en utilisant l'une des méthodes mentionnées ci-dessus. Pour ce faire, appelez simplement la fonction que vous venez de créer ou la fonction reverse() intégrée. Passez la chaîne que vous voulez inverser en tant qu'argument à la fonction.

#include<iostream>
#include<string>
#include<algorithm>
using namespace std;

void reverseStr(string& str) {
    int n = str.length();
    for (int i = 0; i < n / 2; i++) {
        swap(str[i], str[n - i - 1]);
    }
}

int main() {
    string myString = "Hello World!"; //définir une chaîne à inverser

    //Méthode 1
    cout << "CHAINE INVERSEE EN UTILISANT LA FONCTION PERSONNALISEE:\n";
    reverseStr(myString); //appeler la fonction personnalisée pour inverser la chaîne
    cout << myString << endl;

    //Méthode 2
    cout << "\nCHAINE INVERSEE EN UTILISANT LA FONCTION 'REVERSE' INTEGREE:\n";
    reverse(myString.begin(), myString.end()); //appeler la fonction intégrée pour inverser la chaîne
    cout << myString << endl;

    return 0;
}

Récapitulatif

Dans ce laboratoire, nous avons appris à écrire un programme C++ pour afficher une chaîne de caractères donnée à l'envers. Nous avons exploré deux méthodes différentes : en utilisant une fonction personnalisée que nous avons créée nous-mêmes et en utilisant la fonction reverse intégrée en C++. Nous avons également testé le programme en utilisant les deux méthodes en appelant les fonctions. Maintenant, vous pouvez inverser n'importe quelle chaîne en un rien de temps!