![]() |
Wie wird die Array aufgefüllt ?
Ich wusste nicht so recht wie ich die Frage stellen sollte bzw in welcher Sparte. Hoffe aber richig getroffen zu haben :)
Ich habe einen fremden Code vor mir, den ich zur Zeit Analysiere wie der genau funktioniert. Und der sieht ein wenig verwirrend aus. Zum Beispiel diese Stelle:
Code:
Oder bräuchte man mehr von den gesamten Code um es besser zu verstehen ?
begin
For i := 1 to MaxRounds do For ii := 1 to MaxGames do For iii := 1 to 2 do RoundRobinAry[i][ii][iii] := 0; IF ((Teams < 2) OR (Teams > MaxTeams)) Then exit; Wenn ich richig verstanden habe, dann macht dieser ungefähr so
Code:
Oder wie genau läuft dies ab ?
RoundRobinAry[1][1][1] := 0;
RoundRobinAry[2][2][2] := 0; u.s.w. |
RoundRobinArray ist ein dreidimensionales Array. Und die Elemente eines Arrays spricht man über deren Index an. Näheres dazu in der Hilfe oder in jeden guten Grundlagenbuch.
|
Mallo M.Knebel,
das hast du absolut richtig verstanden. Der gesamte Array wird mit Nullen gefüllt. Ich ziehe aber folgende Notation vor (ist aber wohl Geschmackssache):
Delphi-Quellcode:
RoundRobinAry[i, j, k] := 0;
|
Zitat:
Zitat:
Was mich eigentlich verwirrt ist die verschachtelung. Ich habe nähmlich in der Regel Eine Schleife dann mit Begin und End programmiert. In den oben stehenden Fall heisst das Die Schleife nur das RobinRoundArry betrifft, und die letzte Zeile mit den "If .." nicht von der Schleife betroffen ist. Richtig ? Und was mich interessieren würde wie sieht die Reihenfolge aus wie das Array angesprochen wird ?
Code:
begin
For a := 1 to 10 do For b := 1 to 10 do For c := 1 to 2 do RoundRobinAry[a][b][c] := 0; ... Das Ergebnis wäre RoundRobinAry[1][1][1] := 0; RoundRobinAry[1][1][2] := 0; RoundRobinAry[1][2][1] := 0; RoundRobinAry[1][2][2] := 0; RoundRobinAry[1][3][1] := 0; u.s.w. und die letzte wöre RoundRobinAry[10][10][2] := 0; ist dass richtig ? |
Richtig. Dadurch, dass die begin...end Blöcke weggelassen wurden, bezieht sich jede Schleife immer nur auf die nächste und die letzte auf das Löschen des Array.
...:cat:... P.S. Alles geht etwas performanter mit FillChar(...). |
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:59 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-2025 by Thomas Breitkreuz