Programa que detecta si una frase ó palabra el palíndromo, C++..
Programa que detecta si una palabra ó frase es palíndromo, esta elaborado en C++..
# include <ctype.h>
# include <stdio.h>
# include <conio.h>
# include <wchar.h>
# include <string.h>
main()
{
char cad[40],cad2[40];
int i,n,m=0,p;
char *apu_car;
char *letra;
char *letraf;
printf(“\n PROGRAMA QUE DETECTA SI UNA CADENA ES UN PALINDROMO.\n”);
printf(“\n Ingrese palabra o frase:”);
gets(cad);
n=strlen(cad);
apu_car = cad;
letra= cad2;
for (i=0;i<n;i++)
{
// Si es una letra mayúscula la convierte en minúscula
if(*apu_car>=65 && *apu_car<=90)
{
*letra=tolower(*apu_car);
letra++;
apu_car++;
}
// Si es una letra minúscula simplemente la copia en la cadena2
else if(*apu_car>=97 && *apu_car<=122)
{
*letra=*apu_car;
letra++;
apu_car++;
}
else
{
//quita los acentos de minúsculas y mayúsculas
if(*apu_car==-96 || *apu_car==-75)
{
*letra=97;
letra++;
apu_car++;
}
else if(*apu_car==-126 || *apu_car==-112)
{
*letra=101;
letra++;
apu_car++;
}
else if(*apu_car==-95 || *apu_car==-42)
{
*letra=105;
letra++;
apu_car++;
}
else if(*apu_car==-94 || *apu_car==-32)
{
*letra=111;
letra++;
apu_car++;
}
else if(*apu_car==-93|| *apu_car==-23)
{
*letra=117;
letra++;
apu_car++;
}
//Caso especial para la ñ y Ñ
else if(*apu_car==-91|| *apu_car==-92)
{
*letra=164;
letra++;
apu_car++;
}
else
{
apu_car++;
m++;
}
}
}
letra=cad2;
printf(“\n\t”);
for (i=0;i<n-m;i++)
{
printf(“%c”,*letra);
letra++;
}
p=0;
letra=&cad2[0];
letraf=&cad2[(n-m)-1];
for (i=0;i<=(n-m);i++)
{
if (*letra==*letraf)
{
p++;
letra++;
letraf–;
}
else
{
letra++;
letraf–;
}
}
if (p==(n-m))
//Ahora nadamas imprime si la cadena es palindromo ó no lo es..
Espero te sirva para que elabores el tuyo..
by gisey euan