AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie wird die Array aufgefüllt ?

Ein Thema von Darty · begonnen am 10. Mär 2003 · letzter Beitrag vom 10. Mär 2003
Antwort Antwort
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#1

Wie wird die Array aufgefüllt ?

  Alt 10. Mär 2003, 00:09
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:
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;
Oder bräuchte man mehr von den gesamten Code um es besser zu verstehen ?
Wenn ich richig verstanden habe, dann macht dieser ungefähr so
Code:
RoundRobinAry[1][1][1] := 0;
RoundRobinAry[2][2][2] := 0;
u.s.w.
Oder wie genau läuft dies ab ?
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2
  Alt 10. Mär 2003, 03:51
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#3
  Alt 10. Mär 2003, 07:09
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):

RoundRobinAry[i, j, k] := 0;
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#4
  Alt 10. Mär 2003, 11:14
Zitat von Luckie:
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.
Danke für die Belehrung, aber dass wollte ich nicht wissen

Zitat von MrSpock:
Ich ziehe aber folgende Notation vor (ist aber wohl Geschmackssache):
Dieser Code habe ich ja nur rausgeschnitten. So würde ich es auch nie machen, dass verwirrt nur


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 ?
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#5
  Alt 10. Mär 2003, 11:27
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.

......

P.S. Alles geht etwas performanter mit FillChar(...).
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#6
  Alt 10. Mär 2003, 11:40
Zitat von sakura:
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.
Danke, dann habe ich jetzt Gewissheit
Zitat von sakura:
P.S. Alles geht etwas performanter mit FillChar(...).
Ich kenne das noch nicht, aber ich will sowieso wenn ich den langen fremden Code verstanden habe für mich verständlicher programmieren. In Prinzip will ich den Algorythmus (schreibt man es so ?) rauskriegen.
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz