Autor
|
Tema: contar letras de un texto (Leído 27,222 veces)
|
ALONSOQ
Desconectado
Mensajes: 62
|
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 #include<stdio.h> #include<conio.h> #include<string.h> #include<ctype.h> main() { char cadena[255]; char aux[255]; int i,j, tamano; int a=0; for (i=0;i<tamano;i++) { for (j=0;j<255;j++) { if (cadena[i]=j) a++; } } }
|
|
« Última modificación: 2 Julio 2012, 23:23 pm por ALONSOQ »
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
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
|
En el texto no te sale la dimensión de algunos arrays porque querías poner, por ejemplo: Variable[i]
Y el código 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
Mensajes: 62
|
Lo siento pero no tengo ni idea de que son esas etiquetas
un saludo
|
|
|
En línea
|
|
|
|
DickGumshoe
|
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
Mensajes: 62
|
Muchisimas gracias
|
|
|
En línea
|
|
|
|
DickGumshoe
|
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
Mensajes: 1.077
|
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: #include <string.h> #include <ctype.h> #include <stdio.h> int main(){ char cadena[256]; char letra; printf("Introduce una cadena:\t"); for(int i=0; i<tamano; i++){ } printf("Las letras de su cadena son:")//aqui no se que quieres hacer printf("¿Que letra quiere contar?"); int count=0; for(j=0; j<tamano; j++){ if(strcmp(cadena [j ], letra )==0)count ++; } printf("La letra aparece %i veces", count ); return 0; }
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
|
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. #include <string.h> #include <ctype.h> #include <stdio.h> int main(){ char cadena[256]; char letra; int i; printf("Introduce una cadena:\t"); for( i=0; i<tamano; i++){ } printf("¿Que letra quiere contar?"); int count=0; for(j=0; j<tamano; j++){ if(cadena[j] == letra) count++; } printf("La letra aparece %d veces", count ); return 0; }
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
Mensajes: 1.077
|
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
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Contar letras minusculas y mayusculas
Ejercicios
|
kay19
|
0
|
12,054
|
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
|
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
|
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
|
6 Marzo 2017, 00:18 am
por integeroverflow
|
|
|
Contar letras en cualquier oración
Programación C/C++
|
erickcasita
|
8
|
4,016
|
7 Enero 2018, 18:10 pm
por vangodp
|
|