Como identificar un palíndromo en C++

Lo primero que tendríamos que hacer sería quitar los espacios de nuestra cadena. Luego ir comparando, el primer caracter con el último, el segundo con el penúltimo, etc. Si todos los caracteres coinciden, es palíndromo, si no, pues no.

#include<string.h>
#include<iostream>
using namespace std;
 
int main()
{
  char cadena[50],cadenaf[50]={0},*parte;
  int c,len,pal=0;
  cout<<"Introduce un palíndromo: "; cin.getline(cadena,50,'\n');
 
  parte=strtok(cadena," ");                  //
  strcat(cadenaf,parte);                    // quita los espacios de 'cadena' y
  while((parte=strtok(NULL," ")) != NULL)  // guarda el resultado en 'cadenaf'
    strcat(cadenaf,parte);                //
 
  len=strlen(cadenaf);
  for(c=0;c<=len-1;c++)
  {
    if(cadenaf[len-1-c]==cadenaf[c]) // comparación del primer caracter con el 
      pal++;                        // último, el segundo con el penúltimo, etc
  }
  if(pal==len) // si todos las caracteres coinciden, sí es palíndromo
    cout<<"Sí es palíndromo!";
  else
    cout<<"No es palíndromo";
  cin.get();
}
/*Creado por Raúl Rivas Cota (THEbatzuk)*/

Deja tu comentario