viernes, 15 de mayo de 2026

Pedir un número y luego ordenar de menor a mayor los dígitos 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 btnCalcular_Click(object sender, EventArgs e)
        {
            long ac = 0, c = 0, r, aux, n;
            n = Convert.ToInt64(txtNum.Text);
            while(c <= 9)
            {
                aux = n;
                while(aux > 0)
                {
                    r = aux % 10;
                    if(r == c)
                    {
                        ac = (ac * 10) + r;
                    }
                    aux = (aux - r) / 10;
                }
                c++;
            }
            txtResultado.Text = ac.ToString();
        }

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

Definición de los códigos del ejercicio:

long --> dato entero de 64 bits.
Convert.ToInt64() --> convierte un valor especificado en un entero de 64 bits con signo.
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.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
ToString() --> devuelve una cadena que representa el objeto actual.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicación del Código:

Este programa permite ingresar un número y luego ordenar sus dígitos de menor a mayor.

Librerías

using System;
using System.Windows.Forms;

Las librerías permiten utilizar herramientas de C# y controles de Windows Forms como botones y TextBox.

Namespace y Clase

namespace Ejercicio
{
  public partial class frmEjercicio : Form
}

namespace Ejercicio: organiza el proyecto.

frmEjercicio: es el formulario principal.

: Form indica que la clase hereda las funciones de Windows Forms.

Constructor

public frmEjercicio()
{
  InitializeComponent();
}

El constructor inicializa todos los componentes del formulario.

Evento del Botón Calcular

private void btnCalcular_Click(object sender, EventArgs e)

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

Variables

long ac = 0, c = 0, r, aux, n;

ac: almacena el número ordenado.

c: contador del 0 al 9.

r: guarda cada dígito.

aux: copia temporal del número.

n: número ingresado por el usuario.

Leer el Número

n = Convert.ToInt64(txtNum.Text);

Convierte el texto ingresado a un número entero largo.

Recorrer los Números del 0 al 9

while(c <= 9)

El ciclo recorre los números desde 0 hasta 9 para ordenar los dígitos.

Copiar el Número

aux = n;

Guarda una copia del número original.

Recorrer los Dígitos

while(aux > 0)

Recorre cada dígito del número.

Obtener el Último Dígito

r = aux % 10;

Obtiene el último dígito usando el operador módulo.

Comparar el Dígito

if(r == c)

Verifica si el dígito es igual al contador actual.

Formar el Número Ordenado

ac = (ac * 10) + r;

Agrega el dígito al nuevo número ordenado.

Eliminar el Último Dígito

aux = (aux - r) / 10;

Elimina el último dígito para seguir revisando el número.

Incrementar el Contador

c++;

Aumenta el contador para continuar con el siguiente número.

Mostrar Resultado

txtResultado.Text = ac.ToString();

Convierte el resultado a texto y lo muestra en pantalla.

Botón Limpiar

private void btnLimpiar_Click(object sender, EventArgs e)

Limpia los TextBox y coloca el cursor nuevamente en el cuadro principal.

txtNum.Clear();
txtResultado.Clear();
txtNum.Focus();

Funcionamiento General

1. El usuario escribe un número.

2. El programa revisa cada dígito.

3. Los ordena de menor a mayor.

4. Finalmente muestra el resultado.

No hay comentarios.:

Publicar un comentario

Generar la siguiente serie 1,1,1,2,2,2,3,3,3,4,4,4,... 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. ❤️