Einzelnen Beitrag anzeigen

Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#25

Re: Potenzberechnung mit Hilfe einer Rekursion

  Alt 7. Okt 2009, 09:25
Hallo,

Zitat von Xbe:
...hier mal nen Bsp für eine funktionierende Rekursion:

Delphi-Quellcode:
procedureTForm1.umkehren(Sender:TObject);
   var i,j:integer;
   prodedure umkehr(zeichen:char);
      begin
         i:=i+1;
         zeichen:=wort[i];
         if i<length(wort) then umkehr(wort[i]);
         stringgrid1.cells[j,0]:=zeichen;
         j=j+1;
      end;
   begin
      wort:=edit1.text;
      i:=0;
      j:=1;
      umkehr(wort[i]);
   end;
die wird nicht funktionieren in j=j+1 da wird der Vergleichsoperator bemängelt werden.

Der Code nutzt zur Rekursion eine nested-Prozedur(verschachtelt), hab die Prozedur mal etwas formatiert, damit es ersichtlich wird:
Delphi-Quellcode:
procedureTForm1.umkehren(Sender:TObject);
var i, j: integer;

  //**** nested **************
  {}prodedure umkehr(zeichen: char);
  {}begin
  {}  i := i +1;
  {}  zeichen := wort[i];
  {}  if i < length(wort) then
  {}    umkehr(wort[i]);// <--- rekursiver Aufruf
  {}  stringgrid1.cells[j,0] := zeichen;
  {}  j := j +1;
  {}end;
  //**** ENDE nested **************

begin
  wort := edit1.text;
  i := 0;
  j := 1;
  umkehr(wort[i]);// <--- Rekursion starten
end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat