Einzelnen Beitrag anzeigen

Fridolin Walther

Registriert seit: 11. Mai 2008
Ort: Kühlungsborn
446 Beiträge
 
Delphi 2009 Professional
 
#21

Re: Problem bei Pascalsche Dreieck

  Alt 15. Nov 2008, 15:06
Hier die gefixte Routine für alle Interessierten:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ACol, ARow, x : Integer;
begin
  StringGrid1.Cells[ 17, 1 ] := '1';
  for ARow := 1 to 10 do
    for ACol := 1 to 34 do
      begin
        x :=
          StrToIntDef(StringGrid1.Cells[ACol - 1, ARow - 1], 0) +
          StrToIntDef(StringGrid1.Cells[ACol + 1, ARow - 1], 0);
        if x <> 0 then StringGrid1.Cells[ACol, ARow] := IntToStr(x);
      end;
end;
Die Fehler in der Routine des Threaderstellers sind folgende:

Er geht zuerst Spalte für Spalte durch und nicht Zeile für Zeile. Da sich die Berechnung darauf verlässt, das die Zeile davor komplett berechnet ist, müssen wir Zeile für Zeile arbeiten.

Ausserdem berechnet sich x nicht durch "x + <Wert Links Oben> + <Wert Rechts Oben>" sondern nur durch "<Wert Rechts Oben> + <Wert Links Oben>".
Fridolin Walther
  Mit Zitat antworten Zitat