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

miércoles, 2 de noviembre de 2011

Método de Ordenamiento Burbuja

Método De Ordenamiento Burbuja

Este método consiste en ir comparando cada par de elementos del array o lista e ir moviendo el mayor elemento hasta la última posición, comenzando desde la posición cero.

Una vez acomodado el mayor elemento, prosigue a encontrar y acomodar el segundo más grande comparando de nuevo los elementos desde el inicio de la lista, y así sigue hasta ordenar todos los elementos del arreglo.

Al ser necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, hace que el ordenamiento por burbuja sea uno de los algoritmos más ineficientes que existen. Incluso entre los algoritmos de ordenamiento del mismo orden, otros como el “Ordenamiento por inserción” son considerados más eficientes. Y lo más curioso es que este procedimiento es uno de los más usados para ordenar listas en todos los lenguajes de programación.

Estos serían los pasos a seguir por este algoritmo para ordenar una lista a1, a2, a3,…an.

1.    Comparar a1 con a2 e intercambiarlos si a1>a2
2.    Seguir hasta que se haya comparado an-1 con an.
3.    Repetir el proceso anterior n-1 veces

Pues bueno, supongamos una lista de números desordenada como por ejemplo la siguiente {32, 4, 35, 1} y queremos ordenarla de menor a mayor.
Para ello cogemos el primer par de elementos (32 y 4) y si el segundo es menor que el primero los intercambiamos, en caso contrario, los dejamos tal cual.

Repetimos el procedimiento, ahora con el segundo y tercer elemento de la lista... hasta llegar al final.
Luego volvemos a repetir todo el procedimiento, pero hasta llegar al penúltimo elemento, después repetimos, pero llegamos hasta el antepenúltimo elemento, y así sucesivamente, hasta tener la lista ordenada.
En nuestro ejemplo ({32, 4, 35, 1}):

·         Primer recorrido:
32, 4, 35,1 => 4, 32, 35, 1
4,32, 35, 1 => 4, 32, 35, 1
4, 32, 35, 1=> 4, 32, 1, 35

Repetimos desde el inicio, pero sin contar el último elemento

·         Segundo recorrido:
4, 32, 1, 35 => 4, 32, 1, 35
4, 32, 1, 35 => 4, 1, 32, 35 =>

Repetimos desde el inicio, pero sin contar los dos últimos elementos

·         Tercer recorrido:
4, 1, 32, 35 => 1, 4, 32, 35
Fin del algoritmo. Lista ordenada.



Aquí esta el código

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Burbuja
{
    class Program
    {
        static void Main(string[] args)
        {
            Metodo_Burbuja MB = new Metodo_Burbuja();
            Console.ReadKey();
        }
    }

    class Metodo_Burbuja
    {
        public Metodo_Burbuja()
        {
            List<int> Lista = new List<int>();
            Lista.Add(1);
            Lista.Add(3);
            Lista.Add(6);
            Lista.Add(5);
            Lista.Add(0);
            Lista.Add(8);
            Lista.Add(7);
            Lista.Add(2);
            Lista.Add(4);
            Lista.Add(9);
            Console.WriteLine("lista en desorden");
            Mostrar(Lista);
            Console.WriteLine();
            Console.WriteLine("Lista Ordenada");
            Ordenar(Lista);
            Mostrar(Lista);
        }

        public List<int> Ordenar(List<int> Lista)
        {
            int Aux, nElem;
            nElem = Lista.Count;
            

            if (Lista.Count != 0)
            {
                for (int i = 0; i < Lista.Count; i++)
                {
                    for (int j = 0; j < nElem-1; j++)
                    {
                        if (Lista[j] > Lista[j + 1])
                        {
                            Aux = Lista[j];
                            Lista[j] = Lista[j + 1];
                            Lista[j + 1] = Aux;
                        }                        
                    }
                    nElem--;
                }                
            }
            return Lista;
        }

        public void Mostrar(List<int> Lista)
        {
            foreach (int Dato in Lista)
            {
                Console.WriteLine(Dato);
            }
        }
    }
}


domingo, 23 de octubre de 2011

Como crear una calculadora sencilla en C#¡¡¡

Hola a todos, les pido una disculpa por aber eliminado la entrada que había publicado ayer, por eso se las volvere a publicar en esta ocación.

La entrada que elimine por error era como hacer una calculadora en c#, pero esta era una calculadora de lo mas censilla, donde aciamos las operaciones basicas matematicas, que son division, multiplicacion, resta y suma. Asi que aqui les dejo el codigo para progrmarla, esta calculadora esta echa en consola.

Si deseas descargar el Visual Studio lo puedes descargar en su version de prueba por aka Asi que aqui esta el codigo.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Calculadora
{
    class Program
    {
        static void Main(string[] args)
        {
            int x = 0;
            do
            {
                double numero1, numero2;
                Console.Write("Dame el valor de tu primer dato: ");
                numero1 = double.Parse(Console.ReadLine());
                Console.WriteLine();
                Console.Write("Dame el valor de tu segundo dato: ");
                numero2 = Convert.ToDouble(Console.ReadLine());

                Console.WriteLine();

                double suma = numero1 + numero2;
                Console.WriteLine("La suma de " + numero1 + " + " + numero2 + " = " + suma);

                Console.WriteLine();

                double resta = numero1 - numero2;
                Console.WriteLine("La resta de " + numero1 + "  -  " + numero2 + " = " + resta);

                Console.WriteLine();

                double multiplicacion = numero1 * numero2;
                Console.WriteLine("La multiplicación de " + numero1 + "  *  " + numero2 + " = " + multiplicacion);

                Console.WriteLine();

                double division = numero1 / numero2;
                Console.WriteLine("La division de " + numero1 + "  /  " + numero2 + " = " + division);

                Console.WriteLine();

                Console.WriteLine("Si quieres realizar otra operacion oprime el numero 1 y si no oprime cualquier tecla");
                Console.WriteLine();
                string opc = Console.ReadLine();
                if (opc == "1")
                {
                    Console.Clear();                   
                }
                else
                {
                    x++;
                }
               
            } while (x < 1);
        }
    }
}