ERLEDIGT
NEIN
NEIN
ANTWORTEN
7
7
ZUGRIFFE
900
900
EMPFEHLEN
-
Hallo,
ich möchte ein mehrdimensionales Array erstellen, leider sind bisher alle meine Versuche gescheitert.
Die folgenden Varianten habe ich schon probiert:
double *cameraMatrix;
...
cameraMatrix = new double[3][3];
und
double *cameraMatrix;
...
cameraMatrix = new double[3];
for(i=0;i<3;i++)
cameraMatrix[i] = new double[3];
usw.
Vielleicht kann einer von euch mir bei diesem Problem helfen.
Besten Dank im vorraus.
MfG Andre
-
24.04.04 17:28 #2
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Versuch mal das:
So werden die neun nötigen Doubles reserviert. Du kannst aber trotz dieser Form der Allozierung mit beispielsweise cameraMatrix[2][2] das mittlere Element ansprechen.Code :1
double *cameraMatrix = new double[3*3];
Übrigens, beim Freigeben delete[] verwenden (die Array-Form) und nicht delete . Macht zwar bei double keinen Unterschied, kann aber gefährlich werden bei komplexeren Datentypen.Geändert von Kachelator (24.04.04 um 17:30 Uhr)
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Erstmal danke für deine Antwort.
Zwar scheint das allokieren jetzt zu funktionieren, aber mit dem Zugriff habe ich Probleme.
Ich fülle meine Array folgendermaßen:
cameraMatrix[0][0] = fc[0];
cameraMatrix[0][1] = 0.00;
cameraMatrix[0][2] = 0.00;
...
und bekommen diese Fehlermeldung :
invalid types `double[int]' for array subscript
,für jede oben angeführte Zeile.
MfG Andre
-
24.04.04 18:50 #4
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Ups, da hast du recht - da habe ich nicht aufgepasst.
Probiere das mal so:
Code :1
double **cameraMatrix = (double**)(new double[3*3]);
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Sorry, aber ich hätte noch eine Frage.
Gibt es etwas bei den Index zu beachten? Ich kann zwar jetzt das Array füllen mit
cameraMatrix[0][0] = fc[0];
cameraMatrix[0][1] = 0.00;
cameraMatrix[0][2] = 0.00;
cameraMatrix[1][0] = fc[0]*alph_c;
cameraMatrix[1][1] = fc[1];
cameraMatrix[1][2] = 0.00;
cameraMatrix[2][0] = cc[0];
cameraMatrix[2][1] = cc[1];
cameraMatrix[2][2] = 1.00;
,aber bei der Ausgabe dieser Werte sind
cameraMatrix[0][0] = fc[0];
...
und
cameraMatrix[1][0] = fc[0]*alph_c;
...
jeweils identisch, d. h. Ersteres nimmt den Wert der zweite Zeile an.
Der einzige Trost , der letzte Block bleibt mir dabei erhalten, so wie ich in haben wollte.
Gruß Andre
-
25.04.04 18:08 #6
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Das muss an den Werten liegen, die du da reintust. Sonst kann ich mir keinen Grund vorstellen.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
-
Ich habe es hin bekommen.
Den Speicher allokiere ich nun aber so:
int i;
cameraMatrix = new double *[3];
for(i=0;i<3;i++){
cameraMatrix[i] = new double[3];
}
und fülle das Array wie ob angegeben.
Ich glaube das es sich anbietet einen neuen Type einzuführen, myMatrix, oder so. Da ich wahrscheinlich im Code öfters Matrizen brauche.
Also, noch mal vielen Danke.
Gruß Andre
-
25.04.04 19:07 #8
- Registriert seit
- Jul 2003
- Ort
- Duisburg (NRW)
- Beiträge
- 1.788
Da du ja mit C++ arbeitest, könntest du auch mal std::vector oder noch besser (für mehrdimensionale) boost::multiarray. Das bekommst du bei www.boost.org. Ist aber nicht ganz einfach, dazu den Zugang zu finden. Will sagen: Es ist ein bisschen knifflig.
Chor: "Wir sind der Chor, und wir stimmen zu. Wir stimmen zu, wir stimmen zu, wir stimmen zu."
Ähnliche Themen
-
Problem mit Mehrdimensionalem Array
Von xtramen01 im Forum PHPAntworten: 4Letzter Beitrag: 23.07.10, 15:31 -
aus Mehrdimensionalem Array ein Eindimensionales Array erstellen
Von FiselM im Forum Java GrundlagenAntworten: 8Letzter Beitrag: 22.06.10, 17:20 -
array_intersect mit mehrdimensionalem Array
Von jaegerschnitzel im Forum PHPAntworten: 5Letzter Beitrag: 20.06.08, 09:39 -
Denklücke / Problem mit mehrdimensionalem Array
Von Mik3e im Forum PHPAntworten: 1Letzter Beitrag: 20.02.06, 11:44 -
Problem mit mehrdimensionalem Array
Von timäää im Forum Flash PlattformAntworten: 8Letzter Beitrag: 15.08.05, 13:57





Zitieren
Login






