Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/05/2010, 14:54
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 2 meses
Puntos: 61
Respuesta: [C++] Posición del menor de un array (forma recursiva)

Creo que el ultimo codigo tiene un problema, pero no estoy seguro de ello.
Tal vez la observacion que hago sirve para que lo revises?

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;   // <-- codigo original
  8.           dev = ini; // <-- correccion
  9.      }
  10.      else
  11.      {
  12.           menor = Menor(s, ini + 1, fin);
  13.           if(s[ini] < s[menor])
  14.           {
  15.                dev = ini;
  16.           }
  17.           else
  18.           {
  19.                dev = menor;
  20.           }
  21.      }
  22.      return dev;
  23. }

Claro que aun asi alguien podria "perjudicarte" si invocara la funcion con parametros inadecuados, por ejemplo:

Menor( s, fin + 5, fin );