Frezl
Erfahrenes Mitglied
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,
Frezl
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,
Frezl