1Danke
ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
530
530
EMPFEHLEN
-
Hey allerseits,
ich habe eine Frage zum Vorgehen beim Programmieren, wenn in der Sprache keine mehrdimensionalen Arrays zur Verfügung stehen.
Ein Beispiel:
Ich wollte neulich mit Perl eine Tabelle (CSV) einlesen, bei der mir weder die Anzahl der Zeilen, noch die Anzahl der Spalten vorher bekannt war.
Wenn die Anzahl der Zeilen bzw. Spalten bekannt ist, ist es ja nicht so schwer, da man für jede Zeile bzw. Spalte ein eigenes Array anlegen und diese mit Pointern zu einem mehrdim. Array zusammenbauen kann.
Da mir aber beides nicht vorher bekannt war, fiel diese Möglichkeit aus.
Meine zweite Idee war, zur Laufzeit für jede Zeile ein Array zu erstellen, aber ich hab keine Lösung gefunden, den Variablen dynamisch Namen zu geben, die ich später auch wieder finde - z. B. den Wert des Schleifen-Zählers.
Meine Lösung war am Ende, dass ich einfach jede Zeile direkt bearbeitet und wieder ausgegeben habe. Das war in diesem Fall möglich, aber manchmal will man ja alle Einträge erst mal vergleichen, bevor man sie wieder ausgibt.
Daher meine Frage:
Gibt es ein übliches Vorgehen, wie man so ein Problem ohne mehrdimensionale Arrays lösen kann?
Viele Grüße,
FrezlWenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!
-
Eine Verknüpfte Liste mit Hilfe eines Kompositums möglicherweise!?
-
Hallo Frezl,
Perl kann seit Version 5 mit mehrdimensionalen Arrays umgehen, daher verstehe ich dein Beispiel nicht so ganz.
Ungeachtet dessen kann man ein zweidimensionales Array in ein eindimensionales „linearisieren“, indem man die Zeilen einfach nacheinander im Speicher ablegt. Aus einem 2D-Array mit N Spalten und M Zeilen wird so ein 1D-Array mit N*M Einträgen. Auf des Element in Spalte x und Zeile y kann man über den Index y*N+x zugreifen. Dieses Verfahren lässt sich auch auf höherdimensionale Arrays verallgemeinern.
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
Hey Matthias,
vielen Dank für deine aufschlussreiche Antwort! Habe vor einigen Tagen erst mit Perl begonnen und alle Suche im Internet hat mich immer zu der Antwort geführt, dass Perl keine mehrdim. Arrays könne. Freut mich, dass es doch geht
Noch viel mehr Dank für deine Erklärung, wie man 2D-Arrays linearisieren kann
Genau so eine Lösung habe ich gesucht. Es gibt ja auch noch Sprachen, die leider keine 2D-Arrays können und da werde ich es sicher noch brauchen.
Viele Grüße,
FrezlWenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!
-
@ Mathias: hast du Ahnung von Perl und kannst mir da was erklären? Habe versucht, die 2D-Arrays nach diesem Tutorial zu verstehen: http://perldoc.perl.org/perldsc.html#ARRAYS-OF-ARRAYS
Worin liegt der Unterschied zwischen diesen beiden Varianten?
Variante A:
Code perl:1 2 3 4 5 6 7
my @mehrdim = ( [00, 01, 02, 03], [10, 11, 12, 13], [20, 21, 22, 23] ); print $mehrdim[1][2];
Variante B:
Code perl:1 2 3 4 5 6 7
my $mehrdim = [ [00, 01, 02, 03], [10, 11, 12, 13], [20, 21, 22, 23] ]; print $mehrdim->[1][2];
Und wie handhabe ich mit 2D-Arrays Funktionen wie push?
Viele Grüße,
FrezlWenn du das Gefühl hast "Cool, der Kerl konnte mir echt helfen!", dann teil es mir mit, indem du mich entsprechend bewertest!
Ähnliche Themen
-
Mehrdim. Array sortieren nach Schlüssel
Von sdh im Forum PHPAntworten: 0Letzter Beitrag: 10.01.08, 17:22 -
mehrdim. Array einlesen. + Elemente bearbeiten
Von devilofdawn im Forum JavaAntworten: 2Letzter Beitrag: 01.07.07, 17:43 -
Programmieren in VS ohne .NET
Von kanti im Forum VisualStudio & MFCAntworten: 6Letzter Beitrag: 29.06.07, 12:09 -
Problem mit mehrdim. Array als Warenkorb
Von LapisInfernalis im Forum PHPAntworten: 2Letzter Beitrag: 20.01.05, 20:14 -
Programmieren ohne Tipperei
Von smatcher im Forum Sonstige SprachenAntworten: 0Letzter Beitrag: 05.07.04, 12:48





Zitieren

Login





