viernes, 5 de junio de 2026

Contar cuantas veces se repite un carácter en una cadena en C++

Código del ejercicio:

#include <iostream>
#include <string>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    int i = 0, c = 0;
    string s;
    char r;
    cout<<"Ingresar texto: "; getline(cin, s);
    cout<<"Ingresar carácter: "; cin>>r;
    while(i < s.length()){
        if(s[i] == r){
            c++;
        }
        i++;
    }
    cout<<"El texto tiene "<<c<<" carácteres "<<r;
    return 0;
}

Definición de los códigos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida estándar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <string> --> archivo de encabezado de cadena.
#include <clocale> --> especificador de configuración regional.
using namespace std; --> un espacio de nombres es una colección de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca estándar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la función main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecución del programa. Cuando se ejecuta un programa C++, el control de ejecución va directamente a la función main(). Cada programa C++ tiene una función main().
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida estándar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada estándar, es decir, el teclado.
char --> permiten almacenar dos o más caracteres a la vez en una sola variable, son muy útiles para guardar palabras o frases completas.
getline() --> es una función integrada definida en el archivo de encabezado <string> que permite aceptar y leer cadenas de una y varias líneas del flujo de entrada.
string --> dato de tipo cadena de texto.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
length() --> devuelve la longitud de una cadena.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.

Explicación del Código:

Este programa permite ingresar un texto y un carácter. Luego recorre toda la cadena para contar cuántas veces aparece ese carácter dentro del texto.

Explicación de Cada Parte del Código

Código Explicación
#include <iostream> Permite usar funciones de entrada y salida como cout y cin.
#include <string> Permite trabajar con cadenas de texto usando el tipo string.
#include <clocale> Permite configurar el idioma español para mostrar correctamente caracteres especiales.
using namespace std; Evita escribir std:: antes de cout, cin y string.
int main() Es la función principal donde inicia el programa.
setlocale(LC_CTYPE, "Spanish"); Configura el idioma español para aceptar caracteres especiales.
int i = 0, c = 0; i sirve para recorrer el texto y c almacena la cantidad de veces que aparece el carácter.
string s; Variable donde se guarda el texto ingresado.
char r; Variable donde se guarda el carácter a buscar.
getline(cin, s); Permite ingresar una línea completa de texto.
cin >> r; Permite ingresar un solo carácter.
while(i < s.length()) Recorre toda la cadena carácter por carácter.
if(s[i] == r) Verifica si el carácter actual es igual al carácter buscado.
c++; Incrementa el contador cada vez que encuentra el carácter.
i++; Avanza a la siguiente posición de la cadena.
cout << "El texto tiene..." Muestra cuántas veces aparece el carácter dentro del texto.
return 0; Finaliza correctamente el programa.

Funcionamiento del Programa

1. El usuario ingresa un texto.

2. Luego ingresa un carácter.

3. El programa recorre toda la cadena usando un ciclo while.

4. Cada vez que encuentra el carácter buscado, aumenta el contador.

5. Finalmente muestra cuántas veces aparece el carácter dentro del texto.

No hay comentarios.:

Publicar un comentario

Calcular el radio de una circunferencia y que la imprima solo si el radio sede a los 50 cm en C++

Código del ejercicio: #include <iostream> #include <cmath> using namespace std ; int main () {     double cir...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️