mehrdimensionales Array auf Heap erzeugen
-
Hi,
ich versuche mich gerade daran, ein 2-dimensionales Array aufm Heap zu erzeugen mit diesem Code:
int breite = funktion_von_benutzer(); int hoehe = funktion_von_benutzer2(); double** temp = new double*[breite]; for (int i =0; i<breite; i++) (temp)[i] = new double[hoehe]; for(int i=0;i<breite;i++) for(int j=0;j<breite;j++) temp[i][j]=0;
Allerdings stürzt das Programm ab, bei dem Versuch die Felder zu initialisieren.
Wie greife ich denn korrekt auf die Felder zu?danke schonmal im voraus für eure Hilfe!
-
for(int i=0;i<breite;i++) for(int j=0;j<breite;j++) temp[i][j]=0;
Dein Problem liegt an dem Codeteil. Du lässt die zweite for-Schleife solange durchlaufen, wie sie kleiner breite ist. Richtig wäre, sie solange durchlaufen zu lassen, wie sie kleiner hoehe ist, da du die "Höhe" des Arrays mit der Variable hoehe festgelegt hast.
for(int i=0;i<breite;i++) for(int j=0;j<hoehe;j++) temp[i][j]=0;
Mit freundlichen Grüßen
DerRatlose