Como saber si una palabra es palindrome o no? |
|
|
|
Escrito por adrianvaca
|
Martes, 22 de Marzo de 2011 22:55 |
Lo que se hace es hallar la cadena invertida y compararla con la original, si son iguales es palindrome en caso contrario no.
La siguiente función retorna 1 si una cadena es palidromo, y 0 si no lo es:
int es_palindromo(char *cadena) { int i; char *invertida;
/* Halla la cadena invertida */ for(i=0; i < strlen(cadena); i++) invertida[ i ]=cadena[strlen(cadena)-i-1];
/* Coloca caracter de fin de cadena */ invertida[ i ] = '\0';
/* Realiza la comparacion */ if(!strcmp(cadena, invertida)) return 1; /* es un palindromo */ return 0; /* no es un palindromo */ } |
El siguiente es el programa completo:
palindromo, contiene dos programas que permiten determinar si una cadena es un palindromo o no, el primero usa colas y el segundo es más simple, usa cadenas y comparaciones nada más. Un palindromo es un palabra que se lee igual al derecho o al revés, por ejemplo: "ala", "ese".
|