aufbau eines mehrdimensionalen arrays
-
Hi
folgende ausgangssituation:
filepGrid = fopen(strFullPath, "w"); if(filepGrid != 0) { for (iY = 0; iY < 24; iY++) { for (iX = 0; iX < 40; iX++) { fwrite(&m_gspGrid[iX][iY],SIZE_GS, 1, filepGrid); } } fclose(filepGrid); }
eine der beiden schleifen ist nun nicht nötig:
wenn das array erst alle iX aneinanderreiht:
x1|1,x2|1,x3|1,....,x40|1 und dann kommen die aus der zweiten zeile x1|2,x2|2,x3|2,....,x40|2 dann kann ich gleich 40 sätze auf einmal speichernnur es könnte auch andersrum sein
also meine frage ist wierum werden die im speicher gespeichertdanke schon mal
-
Wozu willst Du das genau wissen?
Wenn Du die Daten ausliest, kannst Du sie doch so zusammen stellen wie Du willst.
In deinem Fall sollte Die X-Liste die Y's haltenHier mal ein Beispiel, wo es deutlicher wird.
int x=10,y=10,**feld; int i,j; feld=new int*[x]; for(i=0; i<x;i++) { feld[i]=new int[y]; for(j=0; j<y; j++) feld[i][j]=j+i*x; }
Du erhälst ein Feld das mit den Zahlen von 0 bis 99 gefüllt ist.
Intern ist diese Feld ein X-Feld der größe 10, wobei jedes X-Element 10 int's (Y's) hält.
-
Danke Daishi!
Du hast mir soeben die Lösung meines Diesnächtlichen Problems gebracht! Ich wusste nämlich nich wie ich ein zweidimensionales Feld dynamisch anlege. einfach mit char *Terrain = new char[12][34]; geht das nämlich nich!
könntest du mir noch erklärn, wie ich die Felder sauber lösche?? ich hab die Lösung:
for(int i = 0; i < x; i++) { delete[] *feld; } delete[] feld;
is die vollkommen??
ich bin nur zu gast
-
Kein Problem, Du hättest es aber auch im FAQ gefunden oder beim googlen.