Autor Tema: Numero Medio - Urgente  (Leído 2808 veces)

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Numero Medio - Urgente
« 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).
Código: [Seleccionar]

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).
Código: [Seleccionar]

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.

Desconectado koringo

  • Newbie
  • *
  • Mensajes: 3
Muchas gracias,
« Respuesta #1 en: 05 de Agosto de 2005, 06:04:21 am »
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

Desconectado shicefgo

  • Member
  • ***
  • Mensajes: 166
Numero Medio - Urgente
« Respuesta #2 en: 05 de Agosto de 2005, 07:46:12 am »
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.

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License