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.



