/** title: problema do CeNPL'01: "Palindromizador" (proposta extra-aula) ficheiro: cnpl01.c autor: PRH versao de: 2001.04.14 .processamento de Strings em C; .uso de arrays de caracteres para implementar strings **/ #include typedef char str[100]; char *palindromizador( str p1 ){ char *p2; int i, j, k; p2=(char *)malloc(2*strlen(p1)); k=i=0; j=strlen(p1)-1; while ( i < j ) { if ( p1[i]==p1[j] ) { p2[k++]=p1[i++]; j--; } else { if ( ((i+1)j) { for (j=k; j; j--) { p2[k++]=p2[j-1]; } } p2[k]='\0'; return( p2 ); } /*----- programa principal -----*/ int main( ) { int i,conta=0; str pal; char *palindroma; while ((scanf("%s",pal)) != 1) { ; } palindroma=palindromizador( pal ); printf("Um possivel palindroma sera: %s \n",palindroma); return(0); }