Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: tamyta_19 en 5 Mayo 2013, 06:55 AM

Título: quitar tildes cadena caracteres en c
Publicado por: tamyta_19 en 5 Mayo 2013, 06:55 AM
holas como podria quitar los tildes de una cadena de caracteres en c????...alguna idea??? porfis....cualquier ayuda me servira.........graxxxxx
Título: Re: quitar tildes cadena caracteres en c
Publicado por: SSantiago90 en 6 Mayo 2013, 15:24 PM
Podrias dar un poco mas de info para que se te pueda ayudar mejor

A grandes rasgos, supongo q tienes una variables string o char[], podrias usar un for para recorrer todos los caracteres de la cadena, y en cada recorrido usar un switch(<char i>) y si es una vocal con tilde cambiarla por una sin tilde :)
Título: Re: quitar tildes cadena caracteres en c
Publicado por: BlackM4ster en 6 Mayo 2013, 15:45 PM
Yo uso este:

AVISO, ESTE CODIGO ES .PHP:

Código (php) [Seleccionar]
function QuitarTildes($cadena){
$no_permitidas= array ("á","é","í","ó","ú");
$permitidas= array ("a","e","i","o","u");
$texto = str_replace($no_permitidas, $permitidas ,$cadena);
return $texto;
}
Título: Re: quitar tildes cadena caracteres en c
Publicado por: leosansan en 6 Mayo 2013, 16:16 PM
Cita de: Black Master en  6 Mayo 2013, 15:45 PM
Yo uso este:
Código (php) [Seleccionar]
.................................................

Muy buena idea ..... lástima que sea en PHP y no en C como quería el usuario, ¿lo quieres volver loco buscando "esas" funciones en C que no existen? :laugh:

Mejor encaminada iba la respuesta de SSantiago90 .

Saluditos!. ..... 
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)
Título: Re: quitar tildes cadena caracteres en c
Publicado por: BlackM4ster en 6 Mayo 2013, 18:33 PM
jajajaja perdon perdon es que habia leido mal jajajajaja  :silbar:
Título: Re: quitar tildes cadena caracteres en c
Publicado por: leosansan en 6 Mayo 2013, 19:07 PM

Para que no se diga que no ayudamos, ya ha pasado un tiempo prudencial. Es como la función del PHP pero hecha "a mano". La salida a la cadena que pongo es:


Código (cpp) [Seleccionar]
Leon esta aqui aun solo despues se fue
Process returned 0 (0x0)   execution time


Código (cpp) [Seleccionar]
#include <stdio.h>
   int main(){

   char cadena[]="León está aquí aún sólo después se fue";
   char vocal_sin[]="aeiou",vocal_con[]="áéíóú";
   int i,j;
   for (i=0;cadena[i]!='\0';i++)
       for (j=0;j<5;j++){
           if (vocal_con[j]==cadena[i])
               cadena[i]=vocal_sin[j];
       }
   printf ("%s",cadena);
   return 0;
}


Saluditos! ....   (http://st.forocoches.com/foro/images/smilies/aaaaa.gif)