Cómo encontrar la frecuencia de los caracteres en una cadena en C ++

Cómo encontrar la frecuencia de los caracteres en una cadena en C ++
En las cadenas de C ++ se usan ampliamente para manejar datos. Las cuerdas pueden almacenar un número excesivo de caracteres. Entonces, a veces necesitamos buscar un carácter específico dentro de la cadena de entrada. Para eso, tenemos que iterar a través de toda la cuerda manualmente, lo cual es tiempo hablando e imposible para grandes cuerdas. Entonces, en este artículo, cubriremos cómo se puede contar la frecuencia de un carácter particular dentro de una cadena C ++.

Tabla de contenido

  • ¿Cuál es la frecuencia de caracteres en una cadena en c?++
  • Cómo encontrar la frecuencia de un personaje en una cadena en c++
  • Cómo encontrar la frecuencia de todos los caracteres en una cadena en c++
  • Cómo encontrar la frecuencia de un carácter en una cadena de entrada de usuario en c++
  • Conclusión

¿Qué es la frecuencia de caracteres en una cadena?

La frecuencia de los caracteres es el número de veces que aparece un cierto carácter en una cadena de entrada. Por ejemplo, en la cadena "Hola Mundo!" Si encontramos la frecuencia del personaje 'O', El resultado será dos.

Cómo encontrar la frecuencia de un personaje en una cadena en c++

A continuación, el código dado hay un programa C ++ que encontrará la frecuencia del personaje en una cadena.

#incluir
#incluir
usando el espacio de nombres STD;
int main ()
cadena str = "Linuxhint.com ";
char ch = 'i';
int count = 0;
para (int i = 0; i < str.length(); i++)
if (str [i] == ch)
contar ++;

cout << "The frequency of " << ch << " in " << str << " is: " << count;
regresar 0;

Aquí en el código anterior, la cadena "Linuxhint.com " se asigna a la variable stri, y el personaje 'i' se asigna a la variable pez.

Luego, el programa inicializa el recuento de variables a 0 y buce a través de cada carácter de la cadena utilizando un en bucle. Para cada personaje, el programa verifica si coincide con el personaje pez. Si hay una coincidencia, la variable de conteo se incrementa por 1.

La última parte del programa imprime la frecuencia del personaje pez en la cuerda stri utilizando el cout declaración.

Producción

En la salida, podemos ver la frecuencia de carácter i es 2 en la cadena definida "Linuxhint.com ". La salida del programa anterior sería:

Cómo encontrar la frecuencia de todos los caracteres en una cadena en c++

El siguiente es un programa C ++ que encontrará la frecuencia de todos los caracteres dentro de una cadena dada.

#incluir
#incluir
usando el espacio de nombres STD;
int main ()
cadena str = "Linuxhint.com ";
int count [256] = 0; // Suponiendo el conjunto de caracteres ASCII
para (int i = 0; i < str.length(); i++)
contar [int (str [i])] ++;

para (int i = 0; i < 256; i++)
if (contar [i]> 0)
cout << "The frequency of " << char(i) << " in " << str << " is: " << count[i] << endl;

regresar 0;

Aquí en el ejemplo anterior, asignamos la cadena "Linuxhint.com " a variable stri. Después de ese programa inicializa un recuento de matriz de tamaño 256, que es el tamaño del conjunto de caracteres ASCII. Cada elemento en la matriz representa un carácter ASCII único, y todos los elementos se establecen inicialmente en 0.

El programa luego boques a través de cada personaje de la cadena utilizando un en bucle, e incrementa el elemento correspondiente en la matriz de recuento para cada carácter. De esta manera, el programa cuenta la frecuencia de los personajes.

En la última parte del programa, un bucle se ejecutará a través de la matriz de conteo e imprimirá la frecuencia de cada elemento distinto de cero, junto con el carácter correspondiente y la cadena de entrada utilizando el cout declaración.

Producción

Aquí en la salida, podemos ver la frecuencia de todos los caracteres dentro de la cadena "Linuxhint.com ". La salida de este programa sería:

Cómo encontrar la frecuencia de un carácter en una cadena de entrada de usuario en c++

A continuación se muestra un programa de ejemplo C ++ que encontrará la frecuencia de caracteres en una cadena de usuario.

#incluir
#incluir
usando el espacio de nombres STD;
int main ()
cuerda str;
Char Ch;
int count = 0;
cout << "Enter a string: ";
GetLine (CIN, STR);
cout << "Enter a character to find its frequency: ";
cin >> ch;
para (int i = 0; i < str.length(); i++)
if (str [i] == ch)
contar ++;

cout << "The frequency of " << ch << " in " << str << " is: " << count;
regresar 0;

El programa anterior inicializa una cadena vacía stri, un personaje pez, y un recuento entero a 0. El programa luego le pide al usuario que ingrese una cadena utilizando el cout declaración. Al lado el obtener línea() función usando cinta leerá la entrada del usuario, como texto, símbolos y espacios.

El programa luego le pide al usuario que ingrese a un personaje para que encuentre su frecuencia utilizando el cout declaración y cinta función, que lee un solo carácter de la transmisión de entrada estándar.

Después de ese programa, recorrerá cada personaje en la cadena usando un bucle for For, y verificará si coincide con el personaje pez. Si hay una coincidencia, la variable de conteo se incrementa en 1.

En la parte final del código, el programa imprimirá la frecuencia del personaje pez En la cadena de entrada del usuario utilizando el cout declaración.

Producción

La siguiente es la salida de la cadena de entrada del usuario "Linuxhint.com ". Aquí hemos encontrado la frecuencia para el personaje "i" que es 2.

Conclusión

En este artículo, hemos cubierto cómo encontrar frecuencias de caracteres en cadenas de C ++. Para encontrar la frecuencia de un carácter específico dentro de una cadena, podemos usar un bucle for para iterar a través de toda la cadena de entrada e incrementar el recuento para un carácter específico cada vez que encuentra en esa cadena. Para obtener más detalles sobre la búsqueda de frecuencias de caracteres en C ++, lea el artículo.