20 de Noviembre del 2009
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)*/