Autor Tema: [c#] Crear array y ordenar de mayor a menor con ordenación burbuja  (Leído 100145 veces)

Sixtoex

  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 105
    • Ver Perfil
Ya se que es mejor que el array cree los valores de modo Random, pero prefiero ponerlos yo con un limite de 5 variables metidas en un array.

Código: [Seleccionar]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace mayoramenor
{
    class Program
    {
        static void Main(string[] args)
        {
            // mayor a menor:

            int[] ordenarNumeros = new int[5] { 451, 789, 425, 852, 412 };

            for (int i = 4; i < 5; i--)
            {
         
                if(i <= 0)
                {
                    for (int e = 0; e < 5; e++)
                    {
                        for (int j = 0; j < 5;j++ )
                        {
                            if(j == 4)
                            {
                                for (int u = 0; u < 5; u++)
                                {
                                    Console.WriteLine(ordenarNumeros[u]);
                                }
                                return;
                            }
                              if(ordenarNumeros[j] < ordenarNumeros[j+1])
                              {
                                  int auxiliarTotal = ordenarNumeros[j];
                                  ordenarNumeros[j] = ordenarNumeros[j + 1];
                                  ordenarNumeros[j + 1] = auxiliarTotal;
                              }
                        }
                       
                    }
                   
                }
                if (ordenarNumeros[i] > ordenarNumeros[i - 1]) //Si posicion X es mayor que posicion X-1
                {
                   
                    int auxiliar = ordenarNumeros[i - 1];
                    ordenarNumeros[i - 1] = ordenarNumeros[i];
                    ordenarNumeros[i] = auxiliar;
                }

            }
        }
    }
}


Ahora si funciona 100% bien, lo hice con el método burbuja y esta fue mi lógica: Necesitamos Mínimo 2 for y 2 IF, pero se complica las cosas y necesitamos resolver los problemas

Todo esto dentro de un for:

Si posición 4 es mayor que posicion 4-1:
- Crear Variable que guarde posicion 3
- Posición 3 = posicion 4
- Posición 4 = posicion 3

Dentro de otro for:

Si posición 0 es menor que posicion 1
crear variable posicion 0.
-posicion 0 = posicion 1
-posicion 1 = posicion 0
« Última modificación: 25 de Octubre 2014, 14:19 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Re:[c#] Crear array y ordenar de mayor a menor con ordenación burbuja
« Respuesta #1 en: 25 de Octubre 2014, 14:25 »
Hola, si funciona bien, enhorabuena. Te comento una cosa que deberías mejorar: cuando creas un programa no debes hacerlo para que funcione con un número determinado de datos (por ejemplo 5 datos, ó 10 ó 20 datos). Debes hacerlo para que el programa sea capaz de resolver el problema con n datos (es decir, en este caso por ejemplo que sea capaz de ordenar tanto un array con 5 datos como con 8 datos como con 80 datos. ¿Cómo haces esto? Sustituyendo los datos fijos (por ejemplo el 5) por variables (por ejemplo escribirías numeroDatos=5, y luego en los bucles usarías numeroDatos, etc.).

Puedes fijarte en el ejercicio de la superficie que le corresponde a herederos que hay aquí para ver cómo se puede plantear un problema sin un número de datos cerrado (ver http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=446:ejercicios-resueltos-con-pseudocodigo-y-diagramas-de-flujo-bucles-for-next-y-while-do-cu00161a&catid=28:curso-bases-programacion-nivel-i&Itemid=59)

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".