Autor
|
Tema: Encontrar cuantas veces se repite una letra en una cadena en C (Leído 17,944 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) 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
|
9,019
|
3 Julio 2009, 18:46 pm
por leogtz
|
|
|
[Batch] BUCLE FOR se repite varias veces
Scripting
|
wareware
|
3
|
7,715
|
28 Agosto 2011, 22:59 pm
por leogtz
|
|
|
Contar cuantas veces se repite un numero [duda JAVA]
Java
|
Norlak
|
3
|
47,204
|
23 Agosto 2012, 18:33 pm
por s00rk
|
|
|
Mostrar la cantidad de veces que una cadena se repite
Programación C/C++
|
andoporto
|
1
|
3,181
|
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,828
|
2 Octubre 2019, 13:15 pm
por nomsaro89
|
|