probleme beim schreiben in einen verschachtelten vektor
-
hallo,
ich habe ein problem mit einem verschachtelten vektor, in dem ich double-werte speichern möchte, die ich aus einer Distanzmatrix (zweidimensional,(distanceMatrix)) beziehe.
Und zwar bekomme ich nur Nullen wenn ich den Vektor (DistMatrix) ausgebe.
was kann hier schiefgelaufen sein?!
bin Euch dankbar für hilfe!hier die codeschnipsel:
. . /*-----Globale Variablen------*/ unsigned int numberVehicles; /*unsigned = vorzeichenlos*/ unsigned int numberCustomers; /*unsigned = vorzeichenlos*/ double **distanceMatrix; /*dyn. Feld Distanzmatrix*/ vector<vector<double> > DistMatrix(numberCustomers, vector<double>(numberVehicles)); . . int main(){ . . createDistanceMatrix(); // liest distanzwerte in dyn. feld ein CreateCustomerDistanceVectors(); //soll gewisse werte aus dist.matrix speichern . . } /*----Funktionen----*/ . . void CreateCustomerDistanceVectors(){ vector<vector<double> > DistMatrix(numberCustomers, vector<double>(numberVehicles)); for (unsigned int i=0; i<numberCustomers; i++){ for (unsigned int j=0; j<numberVehicles; j++){ distanceMatrix[numberVehicles+j+1][i] = DistMatrix[i][j]; cout << DistMatrix[i][j] << ' '; } cout << '\n'; } } . .
-
Evtl ist das hier
distanceMatrix[numberVehicles+j+1][i] = DistMatrix[i][j];andersrum gemeint?
-
nein, das passt schon, ich muss zeilen und spalten vertauschen.
kann es sein, dass der vektor in der funktion richtig befüllt wird, und dann beim aufruf in der main nicht mehr gültig ist? (lokale vs. globale variable??)
was für ein k(r)ampf...
