elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  contar letras de un texto
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: contar letras de un texto  (Leído 27,222 veces)
ALONSOQ

Desconectado Desconectado

Mensajes: 62



Ver Perfil
contar letras de un texto
« 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
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<string.h>
  4. #include<ctype.h>
  5. main()
  6. {
  7. char cadena[255];
  8. char aux[255];
  9. int i,j, tamano;
  10. int a=0;
  11. printf ("dime una palabra:");
  12. gets(cadena);
  13. tamano=strlen(cadena);
  14. for (i=0;i<tamano;i++)
  15. {
  16.    for (j=0;j<255;j++)
  17.    {
  18.    if (cadena[i]=j)
  19.   a++;
  20.    }
  21.  
  22.    printf("%d\t",aux[a]);
  23. }    
  24.    getch();      
  25. }


« Última modificación: 2 Julio 2012, 23:23 pm por ALONSOQ » En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: contar letras de un texto
« Respuesta #1 en: 2 Julio 2012, 13:52 pm »

Si le pones etiquetas de codigo lo leo.


En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: contar letras de un texto
« Respuesta #2 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
  1. Variable[i]

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.
« Última modificación: 2 Julio 2012, 14:19 pm por DickGumshoe » En línea

ALONSOQ

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Re: contar letras de un texto
« Respuesta #3 en: 2 Julio 2012, 15:30 pm »

Lo siento pero no tengo ni idea de que son esas etiquetas

un saludo
En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: contar letras de un texto
« Respuesta #4 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
« Última modificación: 2 Julio 2012, 15:40 pm por DickGumshoe » En línea

ALONSOQ

Desconectado Desconectado

Mensajes: 62



Ver Perfil
Re: contar letras de un texto
« Respuesta #5 en: 2 Julio 2012, 15:55 pm »

Muchisimas gracias
En línea

DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: contar letras de un texto
« Respuesta #6 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.
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: contar letras de un texto
« Respuesta #7 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
  1. #include <string.h>
  2. #include <ctype.h>
  3. #include <stdio.h>
  4.  
  5. int main(){
  6. char cadena[256];
  7. char letra;
  8. printf("Introduce una cadena:\t");
  9. gets(cadena);
  10. int tamano=strlen(cadena);
  11. for(int i=0; i<tamano; i++){
  12.  cadena[i]=tolower(cadena[i]);
  13. }
  14. printf("Las letras de su cadena son:")//aqui no se que quieres hacer
  15. printf("¿Que letra quiere contar?");
  16. gets(letra);
  17. int count=0;
  18. for(j=0; j<tamano; j++){
  19.  if(strcmp(cadena[j], letra)==0)count++;
  20. }
  21. printf("La letra aparece %i veces", count);
  22. return 0;
  23. }
  24.  

Saludos, espero que te sirva.
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
DickGumshoe


Desconectado Desconectado

Mensajes: 480



Ver Perfil WWW
Re: contar letras de un texto
« Respuesta #8 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
  1. #include <string.h>
  2. #include <ctype.h>
  3. #include <stdio.h>
  4.  
  5. int main(){
  6. char cadena[256];
  7. char letra;
  8. int i;
  9. printf("Introduce una cadena:\t");
  10. gets(cadena);
  11. int tamano=strlen(cadena);
  12. for( i=0; i<tamano; i++){
  13.  cadena[i]=tolower(cadena[i]);
  14. }
  15.  
  16. printf("¿Que letra quiere contar?");
  17. scanf("%c", &letra);
  18. int count=0;
  19. for(j=0; j<tamano; j++){
  20.  if(cadena[j] == letra) count++;
  21. }
  22. printf("La letra aparece %d veces", count);
  23. return 0;
  24. }
  25.  
  26.  
  27.  

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.
« Última modificación: 2 Julio 2012, 16:33 pm por DickGumshoe » En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: contar letras de un texto
« Respuesta #9 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.
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
Páginas: [1] 2 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Contar letras minusculas y mayusculas
Ejercicios
kay19 0 12,054 Último mensaje 9 Septiembre 2009, 20:06 pm
por kay19
[Código-Python]Contar repeticion de letras en un texto - JaAViEr|0x5d
Scripting
0x5d 1 13,355 Último mensaje 26 Abril 2012, 01:23 am
por Karcrack
[Ayuda] Contar letras de una cadena C#
.NET (C#, VB.NET, ASP)
Leo_Programador 1 5,382 Último mensaje 30 Noviembre 2014, 09:26 am
por Eleкtro
contar numero de letras en una palabra de un arreglo.
Programación C/C++
scc2810 1 2,414 Último mensaje 6 Marzo 2017, 00:18 am
por integeroverflow
Contar letras en cualquier oración
Programación C/C++
erickcasita 8 4,016 Último mensaje 7 Enero 2018, 18:10 pm
por vangodp
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines