Verificar Palíndromo de String

C++Beginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como escrever um programa C++ que verifica se uma determinada string é um palíndromo ou não. Um palíndromo é uma string que é igual à sua versão invertida. Para verificar se é um palíndromo, inverteremos a string fornecida e a compararemos com a original. Se ambas as strings forem iguais, a string fornecida é um palíndromo; caso contrário, não é.

Incluir as Bibliotecas Necessárias e Definir a Função main()

Primeiramente, incluiremos as bibliotecas necessárias e definiremos a função main().

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

using namespace std;

int main() {
  // code goes here
  return 0;
}

Obter a String de Entrada do Usuário

Em seguida, obteremos a string de entrada do usuário e a armazenaremos em um array de caracteres.

char inputStr[100];
cout << "Enter a string: ";
cin >> inputStr;

Obter o Comprimento da String de Entrada

Calcularemos o comprimento da string de entrada usando a função strlen().

int strLength = strlen(inputStr);

Criar um Array para a String Invertida

Em seguida, criaremos um array para a string invertida.

char reverseStr[strLength];

Inverter a String de Entrada

Agora, inverteremos a string de entrada e a armazenaremos no array recém-criado para a string invertida.

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

Comparar Strings Original e Invertida

Finalmente, compararemos as strings original e invertida para verificar se a string de entrada é um palíndromo ou não.

if(strcmp(inputStr, reverseStr) == 0) {
    cout << inputStr << " is a palindrome." << endl;
} else {
    cout << inputStr << " is not a palindrome." << endl;
}

Código Completo

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

using namespace std;

int main() {
    char inputStr[100];
    cout << "Enter a string: ";
    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 << " is a palindrome." << endl;
    } else {
        cout << inputStr << " is not a palindrome." << endl;
    }

    return 0;
}

Resumo

Neste laboratório, você aprendeu como escrever um programa C++ que verifica se uma determinada string é um palíndromo ou não. Agora você pode usar este programa para verificar rapidamente se qualquer string é um palíndromo ou não.