Ver Mensaje Individual
  #9 (permalink)  
Antiguo 02/02/2011, 06:16
Avatar de Heimish2000
Heimish2000
 
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 14 años
Puntos: 89
Respuesta: Sacar los 5 valores mayores en un vector

Recorre el vector grande y vete guardando ordenadamente en el resultado los cinco número más grandes (o sus posiciones, es indistinto). En pseudocódigo sería algo así.

Supongo que el vector de 49 posiciones se llama numeros y el de 5 resultado.

No he tenido en cuenta que pueda haber números iguales (eso es facil tenerlo en cuenta, si tienes problemas dimelo) y tienes que tener en cuenta que las cinco primeras vueltas del bucle son distintas ya que hay que inicializar resultado.

Lo dicho, si tienes problemas dilo y lo completo del todo, pero también te tendré que dejar a ti pensar un poco

Código C:
Ver original
  1. for (i = 0; i<49; i++)
  2. {
  3.     if (numeros[i] > numero[resultado[4]])
  4.     {
  5.         if (numeros[i] > numero[resultado[3]])
  6.         {
  7.             if (numeros[i] > numero[resultado[2]])
  8.             {
  9.                 if (numeros[i] > numero[resultado[1]])
  10.                 {
  11.                     if (numeros[i] > numero[resultado[0]])
  12.                     {
  13.                         resultado[4] = resultado[3];
  14.                         resultado[3] = resultado[2];
  15.                         resultado[2] = resultado[1];
  16.                         resultado[1] = resultado[0];
  17.                         resultado[0] = i;
  18.                     }
  19.                     else
  20.                     {
  21.                         resultado[4] = resultado[3];
  22.                         resultado[3] = resultado[2];
  23.                         resultado[2] = resultado[1];
  24.                         resultado[1] = i;
  25.                     }
  26.                 }
  27.                 else
  28.                 {
  29.                     resultado[4] = resultado[3];
  30.                     resultado[3] = resultado[2];
  31.                     resultado[2] = i;
  32.                 }
  33.             }
  34.             else
  35.             {
  36.                 resultado[4] = resultado[3];
  37.                 resultado[3] = i;
  38.             }
  39.         }
  40.         else
  41.         {
  42.             resultado[4] = i;
  43.         }
  44.     }
  45. }