Jorge S. de Lis
2006-03-04 15:48:50 UTC
Buenas lista.
Estoy intentando hacer una función que "homogeinice" las frases para luego
comprobar si son palíndromas o no.
Tengo un problema, y es que a veces no funciona, y no sé por qué:
¿LIGARÁ GIL O NO LIGARÁ GIL? -> ligaragilonoligaragila
¿LIGARÁ GIL O NO LIGARÁ GIL -> ligaragilonoligaragil (bien)
ATRÁSALA, CÓRTESE SE TROCA LA SARTA; -> atrasalacortesesetrocalasartau
ATRÁSALA, CÓRTESE: SE TROCA LA SARTA -> atrasalacortesesetrocalasartau
ATRÁSALA, CÓRTESE. SE TROCA LA SARTA -> atrasalacortesesetrocalasarta (bien)
¿Alguien me puede echar un cable? Muchas gracias :-)
void homogeiniza(char *palabra){
int lonxitude,i,j;
for(i=0;i<lonxitude && palabra[i]!='\0';i++){
switch(palabra[i]){
case 'á':case 'ä':case 'à':
case 'Á':case 'Ä':case 'À':
palabra[i]='a';
break;
case 'é':case 'ë':case 'è':
case 'É':case 'Ë':case 'È':
palabra[i]='e';
break;
case 'í':case 'ï':case 'ì':
case 'Í':case 'Ï':case 'Ì':
palabra[i]='i';
break;
case 'ó':case 'ö':case 'ò':
case 'Ó':case 'Ö':case 'Ò':
palabra[i]='o';
break;
case 'ú':case 'ü':case 'ù':
case 'Ú':case 'Ü':case 'Ù':
palabra[i]='u';
}
if(palabra[i]>64 && palabra[i]<91)
palabra[i]=palabra[i]+32;
else{
if(palabra[i]<97 || palabra[i]>122){
for(j=i;palabra[j]!='\0' && j<lonxitude;j++){
palabra[j]=palabra[j+1];
}
i--;
}
}
}
return;
}
Estoy intentando hacer una función que "homogeinice" las frases para luego
comprobar si son palíndromas o no.
Tengo un problema, y es que a veces no funciona, y no sé por qué:
¿LIGARÁ GIL O NO LIGARÁ GIL? -> ligaragilonoligaragila
¿LIGARÁ GIL O NO LIGARÁ GIL -> ligaragilonoligaragil (bien)
ATRÁSALA, CÓRTESE SE TROCA LA SARTA; -> atrasalacortesesetrocalasartau
ATRÁSALA, CÓRTESE: SE TROCA LA SARTA -> atrasalacortesesetrocalasartau
ATRÁSALA, CÓRTESE. SE TROCA LA SARTA -> atrasalacortesesetrocalasarta (bien)
¿Alguien me puede echar un cable? Muchas gracias :-)
void homogeiniza(char *palabra){
int lonxitude,i,j;
for(i=0;i<lonxitude && palabra[i]!='\0';i++){
switch(palabra[i]){
case 'á':case 'ä':case 'à':
case 'Á':case 'Ä':case 'À':
palabra[i]='a';
break;
case 'é':case 'ë':case 'è':
case 'É':case 'Ë':case 'È':
palabra[i]='e';
break;
case 'í':case 'ï':case 'ì':
case 'Í':case 'Ï':case 'Ì':
palabra[i]='i';
break;
case 'ó':case 'ö':case 'ò':
case 'Ó':case 'Ö':case 'Ò':
palabra[i]='o';
break;
case 'ú':case 'ü':case 'ù':
case 'Ú':case 'Ü':case 'Ù':
palabra[i]='u';
}
if(palabra[i]>64 && palabra[i]<91)
palabra[i]=palabra[i]+32;
else{
if(palabra[i]<97 || palabra[i]>122){
for(j=i;palabra[j]!='\0' && j<lonxitude;j++){
palabra[j]=palabra[j+1];
}
i--;
}
}
}
return;
}