Buenos días
A ver si alguien me puede ayudar
Si en un procedimiento recursivo defino una matriz dinámica bidimensional, ¿en cada recursión estaré creando una matríz dinámica bidimensional distinta?,
o todas apuntarán a la misma zona de memoria. En el caso de que el comportamiento sea éste último, como podria conseguir una matriz por cada ejecución
del procedimiento
Un ejemplo somero del código sería el siguiente:
Código Delphi
[-]procedure TSDIAppForm.ProcedimientoRecursivo(Clave: Integer; Dato: Integer);
var
iBucle: Integer;
iEleMat: Integer; mdHijos: array of array of integer;
begin
iEleMat := 0
Tabla.Locate('ClaPad', Clave, []);
while (Tabla.fieldByName('ClaPad').asinteger = Clave)
begin
iEleMat := iEleMat + 1;
SetLength( mdHijos, iEleMat, 2 );
mdHijos[ iEleMat - 1, 0 ] := Tabla.fieldByName('Clave').asinteger;
mdHijos[ iEleMat - 1, 1 ] := Tabla.fieldByName('Clapad').asinteger;
end;
Tabla.Next;
end;
for iBucle := low(mdHijos) to high(mdhijos) do
begin
ProcedimientoRecursivo( mdHijos[ iBucle, 0 ], mdHijos[ iBucle, 1 ] );
end;
end;
Gracias de antemano.