Pages - Menu

lunes, 10 de junio de 2013

Ejercicio de C: Palabras palíndromas

Un ejercicio bastante común en C en los temas de tratamientos de cadena suele ser el de averiguar si una palabra es palíndrome o no.

Ejercicio de C: Palabras palíndromas
Foto tomada de freedigitalphotos.net

Una palabra es palíndrome si se lee de la misma forma en un sentido u otro, para el caso de los números se les llama número capicúa.

Un ejercicio en C suele ser que dada una palabra por teclado se averigüe si es palíndrome o no. A continuación os dejo el código del programa que hace tal función.

# include <stdio.h>
# include <conio.h>
# include <math.h>
# include <string.h>
int main(){

     char pal[40],pal2[40];
     int n,x,a=0,p=0,e=0,u;
     char b=' ';
   
     printf("Introduzca una palabra:");
     gets(pal);
     n=strlen(pal);
   
     for (u=0;u<=n;u++)
    {
      if (pal[u]==b)
      {
    u++;
      }
      pal2[e]=pal[u];
      e++;
     }
   
    x=0;
    n=strlen(pal2);
 
    for (x=n-1;x>=0;x--)
    {
     if (pal2[x]==pal2[a])
     {
         p++;
     }
     a++;
    }
 
    if (p==n)
      printf("\n\nLa palabra es palindrome  \n\n");
    else
      printf ("\n\nLa palabra no es palindrome \n\n");
 
    system("PAUSE");
    return 0;
}

¿Cómo mejorarías el ejercicio?