Delphi - Ayuda Recursividad

 
Vista:
Imágen de perfil de Javi

Ayuda Recursividad

Publicado por Javi (3 intervenciones) el 04/06/2015 01:38:36
Hola necesito una manito con esto:
Me dan un string "frase" y otro string "sustituto"
Frase-> Si los puedes *entender* se puede programar
Sustituto-> imaginar

lo q necesito hacer es una funcion recursiva q me cambie lo q esta entre asteriscos por lo q tiene sustituto..
como podria hacerlo?

(tengo q hacerlo por la consola de delphi)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda Recursividad

Publicado por Juanjo (2 intervenciones) el 21/10/2016 13:21:06
La función seria:

1
2
3
4
5
6
7
8
9
10
11
12
13
function fnReemplazar(Original: string; Reemplazo: string; PosOriginal: Integer; PosReemplazo: Integer; Reemplazar: Boolean): string;
begin
 
  if Original[PosOriginal] = '*' then
    Reemplazar := not Reemplazar
  else if Reemplazar = True then begin
    Original[PosOriginal] := Reemplazo[PosReemplazo];
    Inc(PosReemplazo);
    end;
  if Original[PosOriginal] <> '' then
  Original := fnReemplazar(Original, Reemplazo, PosOriginal+1, PosReemplazo, Reemplazar) ;
        result:= Original;
end;

La llamada:

1
2
3
4
var
  vFrase, vSustituto : String;
  Reemplazar : Boolean;
  i : Integer;

Implementation

1
2
3
4
5
vFrase := 'Si los puedes *entender* se puede programar';
vSustituto := 'imaginar';
Reemplazar := False;
 
vFrase := fnReemplazar(vFrase,vSustituto,1,1,Reemplazar);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar