Hallo,
ich nutze die vector STL Klasse. Wenn ich eine Matrix daraus
erstellen möchte, nutze ich die folgendermassen:
define noVowel 4 // number of vowels
[…]
// definitions for known vowels
vector > vocal( noVowel );
Hier ist ‚noVowel‘ ein Vektor, der Laenge ‚noVowel‘. Die Elemente von ‚noVowel‘ sind Vektoren der Laenge 0 (Standardinitialisierung).
vector vocalX( noPeak );
for( int i = 0; i > vocal(noVowel, vector(noPeak));’
Dann brauchst Du die Variable ‚vocalX‘ gar nicht.
2. Du initialisierst ‚vocal‘ als leeren Vektor:
‚vector > vocal;‘, dann werden in der for-Schleife die Vektoren hinzugefuegt und die Anzahl stimmt.
3. Du setzt in der for-Schleife die Elemente:
‚vocal[i] = vocalX;‘
Gleich noch eine andere Frage:
Wenn ich einen vector anlegen möchte, den ich gleich mit
verschiedenen Werten initialisieren möchte, muss ich dann
wirklich jedes Mal die Funktion push_back() nutzen, oder gibt
es eine andere Möglichkeit?
Irgendwie, dass ich eine Liste von Werte übergebe oder so.
Etwas in der Art ‚vector v(3, wert1, wert2, wert3);‘ geht soweit ich weiss nicht (da die Funktionenargumente bei Funktionen beliebiger Laenge Grundtypen sein muessen).
Was Du aber nutzen kannst wenn Du die Werte schon irgendwo abgespeichert hast ist, mit Iteratoren zu arbeiten. Schau mal unter http://www.sgi.com/tech/stl/Vector.html (unter ’
template vector(InputIterator, InputIterator)’.
Gruss
Diether