sábado, 16 de mayo de 2026

Contar cuantas veces se repite un carácter en una cadena en Windows Forms C Sharp

Código del ejercicio:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Ejercicio
{
    public partial class frmEjercicio : Form
    {
        public frmEjercicio()
        {
            InitializeComponent();
        }

        private void btnMostrar_Click(object sender, EventArgs e)
        {
            int i = 0, c = 0;
            string s = txtTexto.Text;
            char r = char.Parse(txtCaracter.Text);
            while(i < s.Length)
            {
                if (s[i] == r)
                {
                    c++;
                }
                i++;
            }
            txtResultado.Text = $"El texto tiene {c} carácteres {r}";
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtTexto.Clear();
            txtCaracter.Clear();
            txtResultado.Clear();
            txtTexto.Focus();
        }
    }
}

Definición de los códigos del ejercicio:

int --> dato entero de 32 bits.
string --> dato de tipo cadena de texto.
char --> se usa para contener un único carácter unicode (con codificación Unicode de 16 bits).
Parse() --> se utiliza para convertir una representación de cadena de un número en un entero equivalente con signo de 16/32/64 bits.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
Length --> obtiene el número de caracteres del objeto String actual.
== --> 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.
$"{}" --> interpolación de cadenas proporciona una sintaxis conveniente para concatenar varios valores para formar una cadena.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicación del Código:

¿Qué hace el programa?

Este programa de Windows Forms permite ingresar un texto y un carácter. Luego cuenta cuántas veces aparece ese carácter dentro de la cadena utilizando un ciclo while.

Librerías using

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;

Las librerías using permiten utilizar herramientas y funciones de C#. La librería más importante aquí es:

  • System.Windows.Forms: permite crear ventanas, botones, cajas de texto y formularios.

Namespace

namespace Ejercicio

El namespace sirve para organizar el proyecto y agrupar las clases relacionadas.

Clase del Formulario

public partial class frmEjercicio : Form

Esta línea crea el formulario principal del programa. La palabra Form indica que es una ventana de Windows Forms.

Constructor del Formulario

public frmEjercicio() { InitializeComponent(); }

El constructor se ejecuta al iniciar el formulario. InitializeComponent() carga todos los controles del formulario, como botones y cajas de texto.

Evento del Botón Mostrar

private void btnMostrar_Click(object sender, EventArgs e)

Este evento se ejecuta cuando el usuario hace clic en el botón Mostrar.

Variables Utilizadas

int i = 0, c = 0; string s = txtTexto.Text; char r = char.Parse(txtCaracter.Text);
  • i: recorre cada posición del texto.
  • c: cuenta cuántas veces se repite el carácter.
  • s: guarda el texto ingresado por el usuario.
  • r: guarda el carácter que se desea buscar.

Ciclo While

while(i < s.Length) { if (s[i] == r) { c++; } i++; }

El ciclo while recorre todo el texto letra por letra.

  • s.Length obtiene la longitud del texto.
  • s[i] obtiene el carácter actual.
  • El if verifica si el carácter actual es igual al buscado.
  • Si son iguales, el contador c aumenta en 1.
  • i++ avanza a la siguiente posición.

Mostrar Resultado

txtResultado.Text = $"El texto tiene {c} carácteres {r}";

Esta línea muestra el resultado final indicando cuántas veces aparece el carácter dentro del texto.

Botón Limpiar

private void btnLimpiar_Click(object sender, EventArgs e) { txtTexto.Clear(); txtCaracter.Clear(); txtResultado.Clear(); txtTexto.Focus(); }

El botón Limpiar elimina el contenido de las cajas de texto y coloca el cursor nuevamente en el cuadro principal.

Resumen del Ejercicio

El programa recibe un texto y un carácter. Después recorre toda la cadena usando un ciclo while para contar cuántas veces aparece el carácter ingresado por el usuario.

No hay comentarios.:

Publicar un comentario

Mostrar los n primeros números de la siguiente serie: 0,5,10,15,20,25,30,35,40,... en Windows Forms C Sharp

Código del ejercicio: using System ; using System . Collections . Generic ; using System . ComponentModel ; using System . ...

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