Título: contar letras de un texto Publicado por: ALONSOQ en 2 Julio 2012, 12:27 pm Hola,
Estoy tratando de hacer lo siguiente: introducir un texto, que lo convierta en minúsculas todo y que diga las veces que aparece cada letra Código
Título: Re: contar letras de un texto Publicado por: 0xDani en 2 Julio 2012, 13:52 pm Si le pones etiquetas de codigo lo leo.
Título: Re: contar letras de un texto Publicado por: DickGumshoe en 2 Julio 2012, 14:06 pm En el texto no te sale la dimensión de algunos arrays porque querías poner, por ejemplo:
Código
Y el código Código: [i] Es para poner en cursiva un texto. Para solucionarlo, ponlo entre etiquetas GeSHi como ha dicho ya daniyo, y entonces, lo leeremos. Saludos. Título: Re: contar letras de un texto Publicado por: ALONSOQ en 2 Julio 2012, 15:30 pm Lo siento pero no tengo ni idea de que son esas etiquetas
un saludo Título: Re: contar letras de un texto Publicado por: DickGumshoe en 2 Julio 2012, 15:37 pm Dale a editar mensaje, seleccionas el código, y arriba a la derecha (donde está para poner negrita, subrayado...),. hay un cuadro en el que pone "GeSHi", pulsas, buscas C y ya.
La etiqueta de code=c ponla al principio del código, y la de /code ponla al final Título: Re: contar letras de un texto Publicado por: ALONSOQ en 2 Julio 2012, 15:55 pm Muchisimas gracias
Título: Re: contar letras de un texto Publicado por: DickGumshoe en 2 Julio 2012, 16:03 pm A mí se me ocurre lo siguiente:
Podrías crear una cadena auxiliar, en la que copiaras el contenido de la cadena de caracteres que quieres contar el número de veces que aparece cada letra. Con un bucle for anidado, vas comprobando el primer carácter con todos los demás de la cadena, y en caso de coincidir, aumentas el el contador de dicha letra en uno. Además, si coinciden, sustituyes en la cadena auxiliar dicho carácter por un espacio, para que cuando el bucle for llegue a dicho carácter no tengas que contar letras. Espero haberme expresado bien... Saludos. Título: Re: contar letras de un texto Publicado por: 0xDani en 2 Julio 2012, 16:18 pm Para empezar no necesitas conio.h.
Despues, ¿tiene que decirte las veces que aparece cada letra del abecedario o las veces que aparece una determinada letra? Te dejo esto: Código
Saludos, espero que te sirva. Título: Re: contar letras de un texto Publicado por: DickGumshoe en 2 Julio 2012, 16:26 pm Daniyo, unas aclaraciones. En C, cuando es sólo un carácter, no se puede pedir con gets, hay que utilizar scanf.
Además, para comparar dos caracteres, no se usa la función strcmp, sino como si compararas dos números. También creo que se refiere el enunciado a que cuentes todos los caracteres de la cadena, no solo uno que le pida el usuario. Te dejo el código de daniyo corregido, AlonsoQ. En caso de que sea contando todos los caracteres de la cadena, prueba a mirar lo que te dije en mi último mensaje, y si tienes alguna duda, pregunta y te intento ayudar a hacer el código. Código
Edito: Por cierto, AlonsoQ, te recomiendo inicializar todas las variables justo después de "int main(){", y no esparcidas por todo el código. Ahora mismo no pasa nada, porque son códigos sencillos, pero mejor que te vayas acostumbrando para cuando trabajes con programas más complejos. Título: Re: contar letras de un texto Publicado por: 0xDani en 2 Julio 2012, 16:56 pm Gracias, DickGumshoe, es que tu sabes que soy de C++, y no sabia muy bien como iban gets y scanf. De todas formas no tenia muy claro que era lo que queria hacer, y le he dejado un pequeño codigo improvisado para que lo modifique y haga lo que quiera.
Saludos. Título: Re: contar letras de un texto Publicado por: ALONSOQ en 2 Julio 2012, 19:19 pm Gracias a los dos,
Pero el problema no es ese exactamente, pues el programa ha de contar todas y cada una de las letras. Ejemplo salida, para la palabra foro; f:1; o:2; r:1 un saludo Título: Re: contar letras de un texto Publicado por: DickGumshoe en 2 Julio 2012, 19:21 pm ¿Has probado con esto que dije?
Citar A mí se me ocurre lo siguiente: Podrías crear una cadena auxiliar, en la que copiaras el contenido de la cadena de caracteres que quieres contar el número de veces que aparece cada letra. Con un bucle for anidado, vas comprobando el primer carácter con todos los demás de la cadena, y en caso de coincidir, aumentas el el contador de dicha letra en uno. Además, si coinciden, sustituyes en la cadena auxiliar dicho carácter por un espacio, para que cuando el bucle for llegue a dicho carácter no tengas que contar letras. Espero haberme expresado bien... Saludos. Sino, te lo intento explicar mejor. Saludos. Título: Re: contar letras de un texto Publicado por: 0xDani en 2 Julio 2012, 19:32 pm Yo creo que con lo que te hemos dejado, te puedes hacer el resto del codigo.
Saludos. Título: Re: contar letras de un texto Publicado por: ALONSOQ en 2 Julio 2012, 20:06 pm Lo he modificado tratando de escribir según me indicas. Lo siento pero a pesar de que intento pasarlo al lenguaje del ordenador lo más que consigo es lo que he modificado
un saludo Título: Re: contar letras de un texto Publicado por: 0xDani en 2 Julio 2012, 20:22 pm conio.h sobra, ya te lo he dicho. Y podrias crear una matriz con todas las letras del abecedario y luego ir comparando, o algo asi. Yo creo que con lo que te hemos dado no es muy dificil hacer el resto.
Saludos. Título: Re: contar letras de un texto Publicado por: DickGumshoe en 2 Julio 2012, 20:23 pm Inténtalo, y te ayudamos a partir de lo que pongas :)
Título: Re: contar letras de un texto Publicado por: BlackZeroX en 2 Julio 2012, 21:17 pm Código
Dulces Lunas!¡. Título: Re: contar letras de un texto Publicado por: Flamer en 2 Julio 2012, 21:22 pm hola ALONSOQ tengo años que no manejo c++, yo puro vb6 y no lo tengo instalado el c++ en mi pc pero tedejo este codigo aver si tesirve me base en el codigo que pusiero los demas compañeros:
Código: char Caracter; char Cadena[256]; int contador=0; printf("Introduce la cadena...") gets(Cadena); int Cadena_largo=strlen(cadena); for(int x=0;x<Cadena_largo;x++) { Caracter=Cadena[x]; for(int y=0;y<Cadena_largo;y++) { if (Cadena[y]==Caracter) { Contador++; } } printf("La Letra ",Caracter," Se Repitio ",Contador," veces..."); Contador=0; } return 0; corrijanme si estoy mal llaque no esta compilado. y si es eso lo que quieres saludos flamer Título: Re: contar letras de un texto Publicado por: SXF en 2 Julio 2012, 23:15 pm Hay va otrp supercensillo de entender :P.Para que te hagas una idea.
Código
Título: Re: contar letras de un texto Publicado por: ALONSOQ en 2 Julio 2012, 23:22 pm Código
Dulces Lunas!¡. BlackceroX, Podrías ponerlo en C; no entiendo nada. Modifico lo que he estado haciendo ( lo cambio en el primer mensaje a ver que te parece) mil gracias Título: Re: contar letras de un texto Publicado por: Flamer en 2 Julio 2012, 23:36 pm te funsiono el mio
saludos Título: Re: contar letras de un texto Publicado por: ALONSOQ en 2 Julio 2012, 23:41 pm hola ALONSOQ tengo años que no manejo c++, yo puro vb6 y no lo tengo instalado el c++ en mi pc pero tedejo este codigo aver si tesirve me base en el codigo que pusiero los demas compañeros: Código: char Caracter; char Cadena[256]; int contador=0; printf("Introduce la cadena...") gets(Cadena); int Cadena_largo=strlen(cadena); for(int x=0;x<Cadena_largo;x++) { Caracter=Cadena[x]; for(int y=0;y<Cadena_largo;y++) { if (Cadena[y]==Caracter) { Contador++; } } printf("La Letra ",Caracter," Se Repitio ",Contador," veces..."); Contador=0; } return 0; corrijanme si estoy mal llaque no esta compilado. y si es eso lo que quieres saludos flamer Gracias por tu aportación, esto es lo que llevo hecho, pero no funciona Código
Título: Re: contar letras de un texto Publicado por: Flamer en 3 Julio 2012, 00:09 am aaaaa lo que se me viene ala mente orita es que terrepite las letras contadas dime si estoy mal o en que te marca error para corregir si es que puedo por que como digo tengo muncho qu no programo en c++
saludos Título: Re: contar letras de un texto Publicado por: BlackZeroX en 3 Julio 2012, 00:24 am Podrías ponerlo en C; no entiendo nada. Que lastima... Dulces Lunas!¡. Título: Re: contar letras de un texto Publicado por: do-while en 3 Julio 2012, 00:26 am ¡Buenas!
Aqui tienes el pseudocodigo: Código: cadena texto; entero repeticiones[rango: 'a'..'z'] = {0...0},i=0 leer texto minusculas(texto) mientas texto[i] != 0 si texto[i] es letra repeticiones[texto[i]] = repeticiones[texto[i]] + 1 fin si i = i + 1 fin mientras Asi tienes las veces que se repite cada letra en el texto introducido. Ahora solo tienes que adaptarlo a C. ¡Saludos! Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje. Título: Re: contar letras de un texto Publicado por: SXF en 3 Julio 2012, 02:09 am Código
Aqui creo que lo tienes :). Título: Re: contar letras de un texto Publicado por: BlackZeroX en 3 Julio 2012, 02:46 am perdon el codigo en C++ era asi:
Código
en C Código
Dulces Lunas!¡. Título: Re: contar letras de un texto Publicado por: ALONSOQ en 3 Julio 2012, 16:07 pm Muchas gracias a todos,
Título: Re: contar letras de un texto Publicado por: ALONSOQ en 3 Julio 2012, 18:23 pm Código
Aqui creo que lo tienes :). Muchas gracias SXF, A partir de tu codigo he desarrollado lo que me piden ( para cualquier palabra) serí mucho pedirte que me volvieras a echar un cable, ya que si por ejemplo introduzco la palabra PEPE, el código me devuelve: la P aparece 2 veces, la E aparece 2 veces, la P aparece 2 veces, la E aparece 2 veces. Me gustaría poder omitir las letras que ya han aparecido muchas gracias por tu ayuda, me ha servido de mucho tu explicación. Te adjunto el código Código
Título: Re: contar letras de un texto Publicado por: DickGumshoe en 3 Julio 2012, 18:27 pm Como una de las variables "palabra" o "cadena" es auxiliar, en una de ellas, cada vez que encuentres una carácter que coincida, puedes sustituirlo por un espacio.
Saludos. Título: Re: contar letras de un texto Publicado por: SXF en 3 Julio 2012, 21:54 pm Yo lo que haría seria contar las palabras del texto "feo" en este caso
Código
antes tienes que inicializar el array t a 0; Código ....etc y ya tendrías la condición ; Si (t[f] >=2 ) break; o cualquier otro tratamiento que consideres oportuno, copiar el array en otro donde no aparezcan las palabras repetida....etc Título: Re: contar letras de un texto Publicado por: SXF en 4 Julio 2012, 14:18 pm Mira acabo de ver este post y creo que te puede ayudar:
Título: Re: contar letras de un texto Publicado por: do-while en 4 Julio 2012, 21:32 pm ¡Buenas!
A ver si esto te sirve... Código
¡Saludos! Título: Re: contar letras de un texto Publicado por: ALONSOQ en 4 Julio 2012, 23:05 pm Perdornar que no haya podido contestaros antes,
Muchísimas gracias a los dos por vuentro interés en ayudarme, voy a ver si descifro algo, teniendo en cuenta que soy lo anterior a novato un saludo |