Mostrando entradas con la etiqueta ordenar en c#. Mostrar todas las entradas
Mostrando entradas con la etiqueta ordenar en c#. Mostrar todas las entradas

Constructores en C#

Constructores en C# 

Cada vez que se crea una clase o estructura, se llama a su constructor. Una clase o estructura puede tener varios constructores que toman argumentos diferentes. Los constructores permiten al programador establecer valores predeterminados, limitar la creación de instancias y escribir código flexible y fácil de leer.
En C# podemos definir un método que se ejecute inicialmente y en forma automática. Este método se lo llama constructor.
El constructor tiene las siguientes características:
  • Tiene el mismo nombre de la clase.
  • Es el primer método que se ejecuta.
  • Se ejecuta en forma automática.
  • No puede retornar datos.
  • Se ejecuta una única vez.
  • Un constructor tiene por objetivo inicializar atributos.

Sintaxis de un Constructor en C#

Modificador NombredelaClase (Parámetros)
{
   Instrucciones
}
Veamos un Ejemplo de un constructor en C#
using System;
namespace constructores
{
    class EjConstructor
    {
        int a;
        int b;
        //declaramos el constructor
        public EjConstructor(int x, int y)
        {
            a = x;
            b = y;
        }
        public int Suma()
        {
            return a + b;
        }
        public int resta()
        {
            return a - b;
        }
        class Principal
        {
            static void Main(string[] args)
            {
                //creamos objeto de la clase y le pasamos los parametros al constructor
                EjConstructor obj = new EjConstructor(10, 20);
                Console.WriteLine("La suma es: "+obj.Suma());
                Console.WriteLine("La resta es: "+obj.resta());
                Console.ReadKey();
            }
        }
    }
}
Al ejecutar el código muestra el siguiente resultado


El ejemplo es sencillo para que pueda comprenderse creamos una clase EjConstructor con 2 variables enteras, luego definimos el constructor con 2 parámetros observen que tiene el mismo nombre de la clase eso tiene que ser así obligatoriamente, también tenemos un método Suma y un método resta que lo único que hace es realizar una suma y la resta sucesivamente.Luego en la clase Principal al momento de crear el objeto de la clase le pasamos los parámetros de una sola vez al constructor, y después solo imprimimos el resultado de la suma y la resta del método Suma y resta.

Ejercicios Resueltos de Arrays en C#

Ejercicios Resueltos de Arrays en C#

Ejemplo 2

Definir un vector donde almacenar los nombres de 5 personas. Realizar un programa que ordene alfabéticamente

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
    class PruebaVector
    {
        private string[] nombre;
        public void Cargar()
        {
            nombre = new string[5];
            for (int f = 0; f < nombre.Length; f++)
            {
                Console.Write("Ingrese el nombre "+(f+1)+": ");
                nombre[f] = Console.ReadLine();
            }
        }
        public void Ordenar()
        {
            for (int k = 0; k < 4; k++)
            {
                for (int f = 0; f < 4 - k; f++)
                {
                    if (nombre[f].CompareTo(nombre[f + 1]) > 0)
                    {
                        string aux;
                        aux = nombre[f];
                        nombre[f] = nombre[f + 1];
                        nombre[f + 1] = aux;
                    }
                }
            }
        }
        public void Imprimir()
        {
            Console.WriteLine("Los nombres ordenados en forma alfabéticamente");
            for (int f = 0; f < nombre.Length; f++)
            {
                Console.WriteLine(nombre[f]);
            }
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            PruebaVector pv = new PruebaVector();
            pv.Cargar();
            pv.Ordenar();
            pv.Imprimir();
        }
    }
}
Al ejecutar el código muestra el siguiente resultado


 Ejemplo 3

Ingresar un vector de n elementos de tipo entero. Ordenar posteriormente el vector en forma ascendente

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
    class PruebaVector
    {
        private int[] vector;
        public void Cargar()
        {
            Console.Write("Cuantos longitud del vector:");
            string linea;
            linea = Console.ReadLine();
            int cant;
            cant = int.Parse(linea);
            vector = new int[cant];
            for (int f = 0; f < vector.Length; f++)
            {
                Console.Write("Ingrese elemento "+(f+1)+": ");
                linea = Console.ReadLine();
                vector[f] = int.Parse(linea);
            }
        }
        public void Ordenar()
        {
            for (int k = 0; k < vector.Length; k++)
            {
                for (int f = 0; f < vector.Length - 1 - k; f++)
                {
                    if (vector[f] > vector[f + 1])
                    {
                        int aux;
                        aux = vector[f];
                        vector[f] = vector[f + 1];
                        vector[f + 1] = aux;
                    }
                }
            }
        }
        public void Imprimir()
        {
            Console.WriteLine("Vector ordenados en forma ascendente");
            for (int f = 0; f < vector.Length; f++)
            {
                Console.Write(vector[f]+"  ");
            }
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            PruebaVector pv = new PruebaVector();
            pv.Cargar();
            pv.Ordenar();
            pv.Imprimir();
        }
    }
}
  
Al ejecutar el código muestra el siguiente resultado

Ordenar Vectores en C#

Ordenar Vectores en C#

El ordenamiento de un vector se logra intercambiando las componentes de manera que:
vec[0] <= vec[1] <= vec[2] ..<=vec[n]
El contenido de la componente vec[0] sea menor o igual al contenido de la componente vec[1] y así sucesivamente.
Si se cumple lo dicho anteriormente decimos que el vector está ordenado de menor a mayor. Igualmente podemos ordenar un vector de mayor a menor.
Se puede ordenar tanto vectores con componentes de tipo int, float como string. En este último caso el ordenamiento es alfabético.
Veamos algunos ejemplos de ordenamiento de vectores, ya que podemos ordenar ascendente o decentemente los valores de un vector.

Ejercicios de Ordenamiento en C#

Ejemplo 1

Realizar un programa que dado un vector y que almacene 5 números para luego ordenar los números acendentemente.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace PruebaVector
{
    class PruebaVector
    {
        private int[] numeros;
        public void Cargar()
        {
            numeros = new int[5];
            for (int f = 0; f < numeros.Length; f++)
            {
                Console.Write("Ingrese numero "+(f+1)+": ");
                string linea = Console.ReadLine();
                numeros[f] = int.Parse(linea);
            }
        }
        public void Ordenar()
        {
            for (int k = 0; k < 4; k++)
            {
                for (int f = 0; f < 4 - k; f++)
                {
                    if (numeros[f] > numeros[f + 1])
                    {
                        int aux;
                        aux = numeros[f];
                        numeros[f] = numeros[f + 1];
                        numeros[f + 1] = aux;
                    }
                }
            }
        }
        public void Imprimir()
        {
            Console.WriteLine("Ordenado Ascendentemante");
            for (int f = 0; f < numeros.Length; f++)
            {
                Console.Write(numeros[f]+"  ");
            }
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            PruebaVector pv = new PruebaVector();
            pv.Cargar();
            pv.Ordenar();
            pv.Imprimir();
        }
    }
}

Al ejecutar el código muestra el siguiente resultado