domingo, 24 de mayo de 2026

Pedir un número y luego ordenar de menor a mayor los dígitos en C Sharp

Código del ejercicio:

int ac = 0, c = 0, r = 0, aux = 0;
Console.Write("Ingresar número: ");
int n = int.Parse(Console.ReadLine());
while(c <= 9)
{
    aux = n;
    while(aux > 0)
    {
        r = aux % 10;
        if(r == c)
        {
            ac = (ac * 10) + r;
        }
        aux = (aux - r) / 10;
    }
    c = c + 1;
}
Console.Write(ac);
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.
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 ac = 0, c = 0, r = 0, aux = 0;

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

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

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

        if(r == c)
        {
            ac = (ac * 10) + r;
        }

        aux = (aux - r) / 10;
    }

    c = c + 1;
}

Console.Write(ac);
Console.ReadKey();

1. Declaración de variables

Se crean varias variables para trabajar con el número:

  • ac: guarda el número ordenado.
  • c: contador que va desde 0 hasta 9.
  • r: almacena cada dígito del número.
  • aux: copia temporal del número.

2. Pedir el número

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

3. Recorrer del 0 al 9

while(c <= 9)

Este ciclo revisa cada número desde 0 hasta 9 para ordenar los dígitos de menor a mayor.

4. Copiar el número

aux = n;

Se guarda una copia del número original en aux para poder analizar sus dígitos.

5. Extraer cada dígito

r = aux % 10;

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

Ejemplo:

523 % 10 = 3

6. Comparar el dígito

if(r == c)

Se verifica si el dígito obtenido es igual al valor del contador.

Como el contador avanza desde 0 hasta 9, los dígitos se agregan en orden ascendente.

7. Formar el número ordenado

ac = (ac * 10) + r;

El dígito encontrado se agrega al final del número acumulado.

Ejemplo:

ac = 12
r = 3

Resultado:
123

8. Eliminar el último dígito

aux = (aux - r) / 10;

Esta operación elimina el último dígito del número para continuar revisando los demás.

9. Mostrar el resultado

Console.Write(ac);

Finalmente se muestra el número con los dígitos ordenados de menor a mayor.

Ejemplo:

Entrada:
53142

Salida:
12345

No hay comentarios.:

Publicar un comentario

Pedir un número y luego ordenar de menor a mayor los dígitos en C Sharp

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

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