![]() |
Re: Problem bei Pascalsche Dreieck
Hier die gefixte Routine für alle Interessierten:
Delphi-Quellcode:
Die Fehler in der Routine des Threaderstellers sind folgende:
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; 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>". |
Re: Problem bei Pascalsche Dreieck
Hast Du Deinen Code auch überprüft?
Ich sehe da auf jeden Fall noch einen groben Fehler ... cu Oliver |
Re: Problem bei Pascalsche Dreieck
Jo. Welchen Fehler denn?
|
Re: Problem bei Pascalsche Dreieck
der fehler ist, dass man in der 2ten reihe anfangt und nicht in der ersten.
|
Re: Problem bei Pascalsche Dreieck
Ist in dem Fall unnötig, weil in Zeile 0 keine Werte vorhanden sind und somit niemals irgendwelche Werte in die Zeile 1 geschrieben werden (die 1 die dort platziert wird, wird also niemals geändert).
|
Re: Problem bei Pascalsche Dreieck
hinterher find ichs schad dass ich da gestern nicht draufgekommen bin.
naja ich hab auch schlecht wissen können was es mit dem Def auf sich hatte, danke jedenfalls! |
Re: Problem bei Pascalsche Dreieck
Zitat:
Und ausserdem ist dir der Unterschied zwischen StrToInt und StrToIntDef erklärt worden. Der eigentliche Fehler lag doch wohl darin, dass du a) den vorherigen wert mit dazuaddiert hattest ( x := x + ... ) b) du keine überprüfung gemacht hast, ob für das feld überhaupt eine berechnung erfolgen darf Das Argument "konnte ich doch gar nicht wissen" kann hier wohl nicht gelten. cu Oliver |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz