Autor
|
Tema: Encontrar cuantas veces se repite una letra en una cadena en C (Leído 16,868 veces)
|
fernando1122
Desconectado
Mensajes: 6
|
Hola, soy nuevo programando y necesito hacer un programa que muestre las veces que una letra se repite en una cadena. Lenguaje C Gracias
|
|
|
En línea
|
|
|
|
engel lex
|
hola! se resuelen dudas, no se entregan codigos listos
el tema fue movido a su respectivo subforo
en general, un cliclo que recorra la cadena y una variable para contar, basta
|
|
« Última modificación: 15 Octubre 2017, 23:56 pm por engel lex »
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
fernando1122
Desconectado
Mensajes: 6
|
cuando ejecuto me aparece "segmentation fault" #include <stdio.h>
int find(char *cadena, char letra_a_contar) { int acc = 0; for(int i = 0; 100 ; i++) { if (cadena[i+1] == letra_a_contar) { acc = acc+1; } } return acc; } int main() { char *cad = NULL; char letra_a_buscar = 0; int res = 0; printf("Escribe la cadena:"); scanf("%s", cad); printf("Escribe la letra que quieres contar:"); scanf("%c", & letra_a_buscar); res = find(cad, letra_a_buscar); printf("%i", res); return 0; }
|
|
|
En línea
|
|
|
|
engel lex
|
tienes errores... for(int i = 0; 100 ; i++) { el segundo argumento simplemente pusiste 100.... eso debe ser i<100 (si no, esto será un ciclo infinito) char *cad = NULL; declaraste el puntero cad, pero nunca le alojaste memoria para almacenar, esto es lo que te da el segmentation fault... estás intentando escribir en la posición de memoria NULL
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
fernando1122
Desconectado
Mensajes: 6
|
entonces en lugar de NULL que me recomiendas poner? el programa donde estoy trabajando ( cloud 9 ) me recomendo NULL
|
|
|
En línea
|
|
|
|
engel lex
|
Claro la recomendación es null, pero debes apartar luego el espacio... si quieres reservar el espacio inicialmente char cad[100];
recuerda que de 100, puedes usar 99 ya que por lo general siempre al final del texto va \0 que es el caracter de fin de texto
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
fernando1122
Desconectado
Mensajes: 6
|
he cambiado mi programa y ahora si me pide la cadena, el tamaño, y la letra que quiero contar pero me arroja como resultado 0 ¿alguna sugerencia? #include <stdio.h>
int find(char *cadena, char letra_a_contar, int size) { int acc = 0; for(int i = 0; i < size ; i++) { if (cadena[i] == letra_a_contar) { acc = acc+1; } } return acc; } int main() { char cad[9]; int size; int letra_a_buscar; int res = 0; printf("Escribe la cadena:"); scanf("%s", cad); printf("dame el tamaño de tu cadena:"); scanf("%i",&size); printf("Escribe la letra que quieres contar:"); scanf("%i",&letra_a_buscar); res = find(cad, letra_a_buscar, size); printf("%i", res); return 0; }
|
|
« Última modificación: 16 Octubre 2017, 03:15 am por fernando1122 »
|
En línea
|
|
|
|
fernando1122
Desconectado
Mensajes: 6
|
¿como se puede guardar una letra en una variable?
|
|
|
En línea
|
|
|
|
polako
Desconectado
Mensajes: 1
|
Como querias guardar una letra era "%s" no "%i"
#include <stdio.h>
int find(char *cadena, char letra_a_contar, int size) { int acc = 0; for(int i = 0; i < size ; i++) { if (cadena == letra_a_contar) { acc = acc+1; } } return acc; } int main() { char cad[9]; int size; int letra_a_buscar; int res = 0; printf("Escribe la frase:"); scanf("%s",&cad); printf("Cuantas letras tiene la frase:"); scanf("%i",&size); printf("Escribe la letra que quieres contar:"); scanf("%s",&letra_a_buscar); res = find(cad, letra_a_buscar, size); printf("%i", res); return 0; }
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
dividir cadena letra por letra
Scripting
|
morenochico
|
3
|
8,744
|
3 Julio 2009, 18:46 pm
por leogtz
|
|
|
[Batch] BUCLE FOR se repite varias veces
Scripting
|
wareware
|
3
|
7,349
|
28 Agosto 2011, 22:59 pm
por leogtz
|
|
|
Contar cuantas veces se repite un numero [duda JAVA]
Java
|
Norlak
|
3
|
46,639
|
23 Agosto 2012, 18:33 pm
por s00rk
|
|
|
Mostrar la cantidad de veces que una cadena se repite
Programación C/C++
|
andoporto
|
1
|
2,705
|
9 Febrero 2015, 08:10 am
por eferion
|
|
|
Contar cuantas veces se repite cada vocal en una frase que ingresa el usuario
Programación C/C++
|
nomsaro89
|
2
|
5,002
|
2 Octubre 2019, 13:15 pm
por nomsaro89
|
|