Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Sixtoex en 25 de Octubre 2014, 14:01
-
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.
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
-
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