Arrays zu einem Array zusammenfassen
-
Hallo,
ich bekomme durch eine Schleife viele Arrays. Diese Arrays möchte ich zu einem zusammenfassen. Folgenden Code habe ich implementiert.
//mein neues Array was alle Arrays aufnimmt deklarieren und Speicherplatz anfordern float *newArray = NULL; newArray = new float[]; int sizeMyArray = 0; int sizeNewArray = 0; int start = 0; for( ... ) { getData(myArray,sizeMyArray); int start = sizeNewArray; sizeNewArray = sizeNewArray + sizeMyArray; for(int i=start; i<sizeNewArray; i++) { newArray[i] = myArray[i]; } } //Speicherplatz wieder freigeben delete[] newArray; newArray = NULL;Ich habe ein Programmabsturz. Woran kann das liegen? Verursache ich ein overflow ? Ich kanns mir nicht erklären.
Danke schon mal.

-
Äh, wo wird newArray Speicher zugewiesen?
-
so wie du das gemacht hast klappt schonmal gar nix
ausserdem ist die hälfte unklar wie zum beispielw as myArray ist...
machs einfach mit vectoren da sparste dir viel arbeit
vector< vector<float> > AllumfassendesArray; // eventuell auch einen zeiger auf vector<float>, je nachdem haltdas ist ein 2 dimensionales array, sowas suchst du ja...
-
Ich tippe mal darauf, dass myArray nur sizeMyArray Elemente hat. Dann wird der Zugriff myArray[i] stehts außerhalb des ARrays erfolgen. Es ist nicht ganz erkennbar, wieso die Daten nicht gleich im großen Array abgelegt werden.
int N = ... int sizeMyArray = 0; int sizeNewArray = sizeMyArray*N; float* newArray = new float[sizeNewArray]; int start = 0; for( ... ) { getData(newArray+start,sizeMyArray); start += sizeMyArray; }