Ver Mensaje Individual
  #5 (permalink)  
Antiguo 28/05/2010, 11:13
Bullete
 
Fecha de Ingreso: enero-2010
Mensajes: 21
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: [C++] Posición del menor de un array (forma recursiva)

Genial Rantamplán, ese código funciona de maravilla, muchas gracias
Sólo he tenido que poner las llamadas a la función con su nombre :P
El código al final ha quedado así:

Código C++:
Ver original
  1. int indiceMenor(int s[], int ini, int fin)
  2. {
  3.      if(ini > fin)
  4.      {
  5.           return 0;
  6.      }
  7.      else
  8.      {
  9.           if (s[ini] < indiceMenor(s, ini+1, fin))
  10.           {
  11.                return 0;
  12.           }
  13.           else
  14.           {
  15.                return (1 + indiceMenor(s, ini+1, fin));
  16.           }
  17.      }
  18. }

Aunque ayer por la noche me vino la inspiración divina y pude hacer el código a mi manera, aunque es bastante parecido y tiene el mismo resultado:

Código C++:
Ver original
  1. int Menor(int s[], int ini, int fin)
  2. {
  3.      int menor, dev;
  4.  
  5.      if(ini == fin)
  6.      {
  7.           dev = 0;
  8.      }
  9.      else
  10.      {
  11.           menor = Menor(s, ini + 1, fin);
  12.           if(s[ini] < s[menor])
  13.           {
  14.                dev = ini;
  15.           }
  16.           else
  17.           {
  18.                dev = menor;
  19.           }
  20.      }
  21.      return(dev);
  22. }

Ahora no sé por cuál decidirme :P
Un saludo y gracias, amigo.