domingo, 24 de mayo de 2026

Determinar la frecuencia de dígitos de un número en C Sharp

Código del ejercicio:

int c = 0; int aux = 0; int r = 0; int fd = 0;
Console.Write("Ingresar número: ");
int n = int.Parse(Console.ReadLine());
while(c <= 9)
{
    aux = n;
    fd = 0;
    while(aux > 0)
    {
        r = aux % 10;
        if(r == c)
        {
            fd = fd + 1;
        }
        aux = (aux - r) / 10;
    }
    if(fd > 0)
    {
        Console.WriteLine($"La frecuencia de {c} es: {fd}");
    }
    c = c + 1;
}
Console.ReadKey();

Definición de los códigos del ejercicio:

Console.Write() --> escribe un texto en pantalla.
int --> dato entero de 32 bits.
Console.ReadLine() --> lee un dato desde teclado.
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 o igual ( <= ) devuelve true si el operando izquierdo es menor o igual que el operando derecho, y en false caso contrario.
> --> el operador mayor que ( > ) devuelve true si el operando izquierdo es mayor que el operando derecho.
% --> el operador de modulo ( % ) devuelve el resto de la división.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
$"{}" --> interpolación de cadenas proporciona una sintaxis conveniente para concatenar varios valores para formar una cadena.
Console.ReadKey() --> escribimos el método Console.ReadKey() al final de nuestro código para mantener abierta la ventana de nuestra consola.

Explicación del Código:

Código del Programa

int c = 0; 
int aux = 0; 
int r = 0; 
int fd = 0;

Console.Write("Ingresar número: ");
int n = int.Parse(Console.ReadLine());

while(c <= 9)
{
    aux = n;
    fd = 0;

    while(aux > 0)
    {
        r = aux % 10;

        if(r == c)
        {
            fd = fd + 1;
        }

        aux = (aux - r) / 10;
    }

    if(fd > 0)
    {
        Console.WriteLine($"La frecuencia de {c} es: {fd}");
    }

    c = c + 1;
}

Console.ReadKey();

1. Declaración de Variables

Se crean variables para controlar el funcionamiento del programa.

  • c: recorre los números del 0 al 9.
  • aux: guarda una copia temporal del número.
  • r: almacena el último dígito del número.
  • fd: cuenta cuántas veces aparece un dígito.
int c = 0; 
int aux = 0; 
int r = 0; 
int fd = 0;

2. Ingreso del Número

El usuario escribe un número entero desde el teclado.

Console.Write("Ingresar número: ");
int n = int.Parse(Console.ReadLine());

3. Recorrer los Dígitos del 0 al 9

El ciclo se ejecuta desde el número 0 hasta el 9 para verificar cuántas veces aparece cada dígito.

while(c <= 9)

4. Copiar el Número

Se copia el número original en la variable aux para poder analizarlo sin perder el valor original.

aux = n;
fd = 0;

5. Obtener el Último Dígito

El operador % obtiene el último dígito del número.

r = aux % 10;

Ejemplo:

  • 527 % 10 = 7
  • 52 % 10 = 2
  • 5 % 10 = 5

6. Comparar el Dígito

Si el dígito obtenido es igual a c, el contador aumenta en 1.

if(r == c)
{
    fd = fd + 1;
}

7. Eliminar el Último Dígito

Esta operación elimina el último dígito para seguir revisando el resto del número.

aux = (aux - r) / 10;

8. Mostrar la Frecuencia

Si un dígito aparece una o más veces, el programa muestra cuántas veces se repite.

if(fd > 0)
{
    Console.WriteLine($"La frecuencia de {c} es: {fd}");
}

9. Finalizar el Programa

Console.ReadKey() espera que el usuario presione una tecla antes de cerrar la consola.

Console.ReadKey();

No hay comentarios.:

Publicar un comentario

Determinar la frecuencia de dígitos de un número en C Sharp

Código del ejercicio: int c = 0 ; int aux = 0 ; int r = 0 ; int fd = 0 ; Console . Write ( "Ingresar número: " ...

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