martes, 13 de febrero de 2024

C# 015 ► Ordenar arreglo de menor a mayor

Ejercicio 015: Pedir el tamaño de un arreglo, llenarlo y ordenarlo de forma ascendente.

Entrada: El tamaño del arreglo y llenado del mismo.

Salida: Arreglo ordenado.


using System;

public class Program {
    public void Ordenar(int[] _numeros) {
        int aux;

        for (int x = 0; x < _numeros.Length; x++) {
            for (int y = x + 1; y < _numeros.Length; y++) {
                if (_numeros[y] < _numeros[x]) {
                    aux = _numeros[y];
                    _numeros[y] = _numeros[x];
                    _numeros[x] = aux;
                }
            }
        }

        Console.WriteLine("Arreglo ordenado:");
        for (int i = 0; i < _numeros.Length; i++) {
            Console.Write(_numeros[i] + ", ");
        }
    }

    public static void Main(string[] args) {
        Program metodos = new Program();

        Console.WriteLine("¿Cuántos números serán?");
        int tam = int.Parse(Console.ReadLine());
        Numeros = new int[tam];

        for (int i = 0; < Numeros.Length; i++) {
            Console.WriteLine("Ingresa número " + i + "/" + tam);
            Numeros[i] = int.Parse(Console.ReadLine());
        }

        Console.WriteLine("Arreglo sin ordenar:");
        for (int i = 0; i < Numeros.Length; i++) {
            Console.Write(Numeros[i] + ", ");
        }
        Console.WriteLine();

        metodos.Ordenar(Numeros);
    }
}



En este ejemplo, la ordenación ascendente del arreglo se hace en el método "Ordenar", que se manda a llamar mediante el objeto "metodos" pasándole como parámetro el arreglo "Numeros" previamente llenado.

El método de ordenación empleado en este ejercicio es el de la "burbuja", el cual consiste en comparar cada uno de los elementos con los restantes verificando si alguno es menor, si es así se intercambian, y así hasta que se revise todo el arreglo, al final los números quedan ordenados.

Este método es para efectos explicativos, otra forma de hacerlo es usar el método propio de C# "Array.Sort()", el cual recibe como parámetro el arreglo que se desea ordenar, considerando este ejemplo sería:

    Array.Sort(Numeros);    //Si se usa en main
    Array.Sort(_numeros);   //Dentro del método Ordenar



■ En otros lenguajes:
     • Pseudocódigo 
     • Java_015
     • Pascal_015
     • Python_015 

No hay comentarios:

Publicar un comentario