Foros de daboweb
MULTIMEDIA, Video digital, Grabación, Diseño gráfico, Diseño web, Programación => Webmasters - Diseño Web - Programación - Diseño gráfico => Mensaje iniciado por: shicefgo en 04 de Agosto de 2005, 11:48:18 pm
-
Una forma de hacerlo sería esta:
Supongamos 3 enteros distintos, a, b, c y queremos ordenarlos de manera que a < b y b < c (de menor a mayor).
int a, b, c; /* Números a ordenar */
int temp; /* Para uso temporal */
/* .../... código para obtener los números a, b y c .../... */
/* Primero comparamos los extremos. */
if (c < a) { /* Intercambiamos a y c */
temp = a;
a = c;
c = temp;
}
/* Ahora sabemos que a < c */
/* Comparamos b con a */
if (b < a) { /* Intercambiamos a y b y hemos terminado */
temp = a;
a = b;
b = temp;
} else if (b > c) { /* De lo contrario, comparamos b con c */
temp = b; /* y los intercambiamos, si procede */
b = c;
c = temp;
}
/* Y ya tenemos los números ordenados: a < b < c */
Aunque, si quieres seguir con tu procedimiento, y ya tienes el número mayor y el menor, los guardas cada uno en una variable, por ejemplo mayor y menor respectivamente, y el del medio sería aquél que fuese distinto del mayor y del menor (es una idea).
if (a != mayor && a != menor) medio = a;
if (b != mayor && b != menor) medio = b;
if (c != mayor && c != menor) medio = c;
Los algoritmos de ordenación pueden ser bastante complejos, y se suelen utilizar arrays (también llamados arreglos) para almacenar y ordenar los valores. Puedes hacer una búsqueda en internet por la palabra quicksort para tener una idea del tema.
Espero haber sido de ayuda.
Un saludo.
-
Me sirvio muchisimo, fue de gran ayuda y espero llegar a tu nivel.
Nota: tambien me gustaria saber si sabes algo de .NET o C sharp. espero me puedas ayuda. Que Dios te bendiga tus conocimientos. :D
-
Me alegro de que te haya servido. ;)
Sobre lo de .net y c# siento no poder ser de mucha ayuda, sólo programo en C y en otro lenguaje raro (objetcPal).
De todas formas, aunque éste es un foro sobre C, seguro que habrá alguien que sepa algo sobre .net y C#.
Saludos.