Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] ¿Cómo contar caracteres repetidos en una variable tipo string?

Estas en el tema de ¿Cómo contar caracteres repetidos en una variable tipo string? en el foro de C/C++ en Foros del Web. Hola!! Mi duda es que no sé si existe una forma o método para contar si uno o varios caracteres existen dentro de una cadena ...
  #1 (permalink)  
Antiguo 25/04/2014, 01:00
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
¿Cómo contar caracteres repetidos en una variable tipo string?

Hola!!

Mi duda es que no sé si existe una forma o método para contar si uno o varios caracteres existen dentro de una cadena string.
Por ejemplo, algo así busco:

Código C++:
Ver original
  1. string Caracteres = "Hola amigos como estan";
  2. string LetraA = Caracteres.count("a");
  3. cout << LetraA << endl;

Devolvería:

3

ya que existen 3 letras "a" en Caracteres.
¿Existe una manera o si o si tendré que usar un bucle?
Desde ya gracias.
  #2 (permalink)  
Antiguo 25/04/2014, 03:23
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: ¿Cómo contar caracteres repetidos en una variable tipo string?

No se si hay sin bucle, por que piensa que tienes un montón de variables.
hay que compararlas todas.
hay una funcion que te hacia eso no me recuerdo el nombre.
Si la encuentro te lo digo aquí ;)


Código C++:
Ver original
  1. int contador = 0;
  2. string str = "Hola amigos como estan";
  3.  
  4. for ( int i = 0; i < str.size(); i++){
  5.  
  6.    if( str[i] == 'a' ){
  7.       contador++
  8.    }//if
  9.  
  10. }//for
  11.    
  12. cout << "Cantidad de letras 'a' repetidas:" << contador;
  #3 (permalink)  
Antiguo 25/04/2014, 05:54
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: ¿Cómo contar caracteres repetidos en una variable tipo string?

Google -> http://stackoverflow.com/questions/3...es-in-a-string
__________________
Visita mi perfil en LinkedIn
  #4 (permalink)  
Antiguo 25/04/2014, 07:10
Avatar de nup_  
Fecha de Ingreso: noviembre-2010
Mensajes: 265
Antigüedad: 14 años
Puntos: 32
Respuesta: ¿Cómo contar caracteres repetidos en una variable tipo string?

(from http://stackoverflow.com/questions/3...es-in-a-string)
me encanta esta versión:
Código C++:
Ver original
  1. #include <cstdio>
  2. int _(char*__){int ___=0;while(*__)___='_'==*__++?___+1:___;return ___;}int main(){char*__="_la_blba_bla__bla___";printf("The string \"%s\" contains %d _ characters\n",__,_(__));}

:D
  #5 (permalink)  
Antiguo 25/04/2014, 12:01
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: ¿Cómo contar caracteres repetidos en una variable tipo string?

muy buenos :D
Si vas usar muchos bucles el foreach no esta mal :D

Última edición por vangodp; 25/04/2014 a las 12:07
  #6 (permalink)  
Antiguo 25/04/2014, 14:46
Principe_Azul
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Cómo contar caracteres repetidos en una variable tipo string?

Muchas gracias amigos!! Lo pude solucionar con este código:

Código C++:
Ver original
  1. int count_underscores(string s) {
  2.   int count = 0;
  3.  
  4.   for (int i = 0; i < s.size(); i++)
  5.     if (s[i] == '_') count++;
  6.  
  7.   return count;
  8. }

Gracias a todos
  #7 (permalink)  
Antiguo 25/04/2014, 16:58
Avatar de vangodp  
Fecha de Ingreso: octubre-2013
Mensajes: 934
Antigüedad: 11 años, 1 mes
Puntos: 38
Respuesta: ¿Cómo contar caracteres repetidos en una variable tipo string?

si vamos XDD es lo que puse en una función jejej
haberlo dicho hombre XDDD

Etiquetas: caracteres, repetidos, string, tipo, usar, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:18.