INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Problem beim Verwenden von 2D Arrays



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

07.03.2008, 13:32
Beitrag #32

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.696
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Problem beim Verwenden von 2D Arrays
' schrieb:Ich gehe gerade durch dein Programm und versuche es nachzuvollziehen, allerdings habe ich an der oben zitierten Stelle ein Problem. Müßte es da nicht eher heißen: inc(pBR,BCols*YLenF); schließlich wollen wir in die nächste Zeile springen und eine Zeilenlänge wird doch gerade durch die Anzahl der Kolumnen vorgegeben. Der Teil dp:=(BCols-YLenF-1); soll ja auch einen Zeilenvorsprung bewirken und dort rechnen wir auch mit BCols. allerdings hätte ich dann auch:
MRows:= (BRows div XLenF);
MCols:= (BCols div YLenF);
Du hast natürlich Recht!

Ich hab wieder mal Spalte und Reihe verwechselt. Einigen wird uns auf folgendes: Spalte (also Col) ist das, was rüberwärts geht, also X-Richtung. Reihe (also Row) ist das, was runterwärts geht, also Y-Richtung. Demzufolge steht bei allem mit Row immer X und bei allem mit Col immer Y. Dann müsste aber auch zuerst die Y-Schleife kommen, da kann ich dann besser denken. Die X-Schleife wäre dann innen, was zur Folge hat, erst "die ganze erste Zeile (= Reihe = Row)" dann "die ganze zweite Zeile" etc. Damit sieht das "2D-Array" im Speicher dann wie folgt aus: Alle X-Werte der ersten Zeile, alle X-Werte der zweiten Zeile etc. Das wiederum ist wichtig für das spätere daterstellen.

Die Frage ist dann natürlich: Wie kommen die Daten (Bild[]) herein: Alle X hintereinander oder alle Y hintereinander?

Code:
inc(pBR,BRows*YLenF);
Dieses ist aber richtig: Row ist die X-Richtung, YLenF die Y-Richtung. Hiermit werden als YLenF-Zeilen übersprungen!

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
Problem beim Verwenden von 2D Arrays - IchSelbst - 07.03.2008 13:32

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Fehler 1097 beim Übergeben von Arrays Flemmy 4 10.292 22.10.2017 21:07
Letzter Beitrag: rolfk
  Problem beim Einbinden einer DLL preacha 18 19.343 25.09.2008 11:51
Letzter Beitrag: baliik

Gehe zu: