Ver Mensaje Individual
  #2  
Antiguo 15-10-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Código Delphi [-]
function busquedaBinariaRec3 (dato : integer;inicio : integer;
 fin : integer; var aBB: array of integer  ) : integer;
var
    pivote : integer;
begin
    pivote := (inicio + fin) div 2;
    if inicio > fin then
        result := -1
    else if dato = aBB[pivote] then
        result := pivote
    else if dato < aBB[pivote] then
        result := busquedaBinariaRec3(dato,inicio,pivote-1,aBB)
    else if dato > aBB[pivote] then
        result := busquedaBinariaRec3(dato,pivote+1,fin,aBB);
end;

Creo que te has olvidado de asignarle a RESULT el resultado de lo que busque recursivamente.
Responder Con Cita