Hallo,
ich bräuchte mal eine Denkstütze, es geht um C++.
Funktionen greifen auf Daten zu und welche das sein sollen wird per Index beim Aufruf der Funktion übermittelt.
hier die Daten
Der Index des äusseren vectors gibt die Info auf welche Datenreihe zugegriffen werden soll. Die Datenreihe befindet sich im inneren vector. Soweit ok.
Jetzt aber sollen drei der Indexe des äusseren Vectors eine weitere übergeordnete Dimension bekommen.
daten[0] bis daten[7] sind wie oben. daten[8] bis daten[10] aber soll es jeweils nochmal in verschiedenen varianten geben also eine weitere äussere Dimension.
Wenn ich jetzt für alles ein 3D Array mache
dann stimmt zwar alles für daten[8] bis daten[10] aber für daten[0] bis daten[7] ist die äusserste Dimension ja überflüssig.
Für 0-7 reicht folgendes da es keine Varianten gibt:
daten[0][datereihe] bis daten[7][datereihe]
Für 8-10 gibt es Varianten:
daten[variante][8][datereihe] bis daten[variante][10][datereihe]
Das heißt egal welche Variante per Index für 8-10 aktiviert ist, sind 0-7 immer identisch, es gibt eben nur eine Ausführung.
Wie bekomme ich das jetzt zusammen mit der Datenstruktur? Denn ohne 3D geht 8-10 nicht und mit 3D müsste ich ja X-Fach 0-7 speichern damit bei jeder Variante (die diese eigentlich nicht betrifft) auf die Werte zugegriffen werden kann.
Gruß
ich bräuchte mal eine Denkstütze, es geht um C++.
Funktionen greifen auf Daten zu und welche das sein sollen wird per Index beim Aufruf der Funktion übermittelt.
Code:
void funk(std::vector<std::vector<int>> &daten, int index)
{
// beispiel zugriff
std::vector<int> ich_will_die_datenreihe = daten[index];
}
hier die Daten
Code:
std::vector<std::vector<int>> arr1;
Der Index des äusseren vectors gibt die Info auf welche Datenreihe zugegriffen werden soll. Die Datenreihe befindet sich im inneren vector. Soweit ok.
Jetzt aber sollen drei der Indexe des äusseren Vectors eine weitere übergeordnete Dimension bekommen.
daten[0] bis daten[7] sind wie oben. daten[8] bis daten[10] aber soll es jeweils nochmal in verschiedenen varianten geben also eine weitere äussere Dimension.
Wenn ich jetzt für alles ein 3D Array mache
Code:
std::vector<std::vector<<std::vector<int>>> arr2;
Für 0-7 reicht folgendes da es keine Varianten gibt:
daten[0][datereihe] bis daten[7][datereihe]
Für 8-10 gibt es Varianten:
daten[variante][8][datereihe] bis daten[variante][10][datereihe]
Das heißt egal welche Variante per Index für 8-10 aktiviert ist, sind 0-7 immer identisch, es gibt eben nur eine Ausführung.
Wie bekomme ich das jetzt zusammen mit der Datenstruktur? Denn ohne 3D geht 8-10 nicht und mit 3D müsste ich ja X-Fach 0-7 speichern damit bei jeder Variante (die diese eigentlich nicht betrifft) auf die Werte zugegriffen werden kann.
Gruß