martes, 19 de mayo de 2026

Eliminar un dígito x de un número introducido por teclado en C Sharp

Código del ejercicio:

int r = 0; int p = 1;
Console.Write("Ingresar número: ");
int n = int.Parse(Console.ReadLine());
Console.Write("Ingresar dígito: ");
int x = int.Parse(Console.ReadLine());
while(n > 0)
{
    int d = n % 10;
    if(d != x)
    {
        r = r + d * p;
        p = p * 10;
    }
    n = n / 10;
}
if(r == 0)
{
    Console.Write("El resultado no tiene dígitos.");
}
else
{
    Console.Write($"El resultado es: {r}");
}
Console.ReadKey();

Definición de los códigos del ejercicio:

Console.Write() --> escribe un texto en pantalla.
int --> dato entero de 32 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.
Console.ReadLine() --> lee un dato desde teclado.
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.
else --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
!= --> el operador de desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
> --> 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:

int r = 0; 
int p = 1;

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

Console.Write("Ingresar dígito: ");
int x = int.Parse(Console.ReadLine());

while(n > 0)
{
    int d = n % 10;

    if(d != x)
    {
        r = r + d * p;
        p = p * 10;
    }

    n = n / 10;
}

if(r == 0)
{
    Console.Write("El resultado no tiene dígitos.");  
}
else
{
    Console.Write($"El resultado es: {r}");
}

Console.ReadKey();

1. Variables iniciales

La variable r guarda el resultado final del número sin el dígito eliminado.

La variable p sirve para controlar la posición decimal del nuevo número (unidades, decenas, centenas, etc.).

2. Ingreso del número

El programa solicita al usuario un número entero y lo guarda en la variable n.

3. Ingreso del dígito a eliminar

El usuario escribe el dígito que desea eliminar del número. Ese valor se almacena en la variable x.

4. Recorrer el número

El ciclo while(n > 0) recorre cada dígito del número hasta que no queden más dígitos.

5. Obtener el último dígito

La instrucción:

int d = n % 10;

obtiene el último dígito del número usando el operador módulo.

Ejemplo:
Si n = 4587
entonces d = 7

6. Comparar el dígito

La condición:

if(d != x)

verifica si el dígito actual es diferente del dígito que se desea eliminar.

Si es diferente, se guarda en el nuevo número.
Si es igual, se ignora.

7. Formar el nuevo número

La instrucción:

r = r + d * p;

agrega el dígito al nuevo número.

Luego:

p = p * 10;

actualiza la posición decimal para el siguiente dígito.

8. Eliminar el último dígito

La instrucción:

n = n / 10;

elimina el último dígito del número actual.

Ejemplo:
4587 → 458

9. Mostrar el resultado

Si el resultado queda vacío, el programa muestra:

El resultado no tiene dígitos.

En caso contrario, muestra el nuevo número sin el dígito eliminado.

10. Ejemplo de ejecución

Número ingresado: 45252
Dígito a eliminar: 5

Resultado: 242

No hay comentarios.:

Publicar un comentario

Contar los números naturales impares hasta una cantidad x de términos en C Sharp

Código del ejercicio: int a = 1 ; int c = 1 ; Console . Write ( "Ingresar número: " ); int x = int . Parse ( Con...

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