Vérifier si une chaîne est un palindrome

C++Beginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, vous allez apprendre à écrire un programme C++ qui vérifie si une chaîne de caractères donnée est un palindrome ou non. Un palindrome est une chaîne de caractères qui est identique à sa version inversée. Pour vérifier si une chaîne est un palindrome, nous allons inverser la chaîne donnée et la comparer avec l'original. Si les deux chaînes sont identiques, la chaîne donnée est un palindrome, sinon, ce n'est pas le cas.

Inclure les bibliothèques requises et définir la fonction main()

Tout d'abord, nous allons inclure les bibliothèques requises et définir la fonction main().

#include <iostream>
#include <string.h>

using namespace std;

int main() {
  // code va ici
  return 0;
}

Obtenir une chaîne de caractères en entrée de l'utilisateur

Ensuite, nous allons obtenir la chaîne d'entrée de l'utilisateur et la stocker dans un tableau de caractères.

char inputStr[100];
cout << "Entrez une chaîne : ";
cin >> inputStr;

Obtenir la longueur de la chaîne de caractères d'entrée

Nous allons calculer la longueur de la chaîne d'entrée à l'aide de la fonction strlen().

int strLength = strlen(inputStr);

Créer un tableau pour la chaîne inversée

Ensuite, nous allons créer un tableau pour la chaîne inversée.

char reverseStr[strLength];

Inverser la chaîne d'entrée

Nous allons maintenant inverser la chaîne d'entrée et la stocker dans le tableau nouvellement créé pour la chaîne inversée.

for(int i = 0; i < strLength; i++) {
    reverseStr[i] = inputStr[strLength - 1 - i];
}

Comparer les chaînes d'origine et inversée

Enfin, nous allons comparer les chaînes d'origine et inversée pour vérifier si la chaîne d'entrée est un palindrome ou non.

if(strcmp(inputStr, reverseStr) == 0) {
    cout << inputStr << " est un palindrome." << endl;
} else {
    cout << inputStr << " n'est pas un palindrome." << endl;
}

Code complet

#include <iostream>
#include <string.h>

using namespace std;

int main() {
    char inputStr[100];
    cout << "Entrez une chaîne : ";
    cin >> inputStr;

    int strLength = strlen(inputStr);
    char reverseStr[strLength];

    for(int i = 0; i < strLength; i++) {
        reverseStr[i] = inputStr[strLength - 1 - i];
    }

    if(strcmp(inputStr, reverseStr) == 0) {
        cout << inputStr << " est un palindrome." << endl;
    } else {
        cout << inputStr << " n'est pas un palindrome." << endl;
    }

    return 0;
}

Résumé

Dans ce laboratoire, vous avez appris à écrire un programme C++ qui vérifie si une chaîne donnée est un palindrome ou non. Vous pouvez désormais utiliser ce programme pour vérifier rapidement si une chaîne est un palindrome ou non.