Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Mehrdimensionales Array in C++

Chakhi / 5 Antworten / Flachansicht Nickles

Hi..

ich habe folgende Code und möchte ich damit erreichen, dass ich eine Ebene in Feldern unterteile! Ich habe gedacht, ich könnte das über ein (2D)Array realisieren und zwar so, dass ich die Felde auf die Ebene -mit der Länge und Breite von xdim und ydim- mit Raster 1mm einrichte!
und ich möchte auch, dass ich am Anfang die Felde mit dem WErt 0 initialisieren, so dass ich so was erhalte:
0 0.. 0
0......0
........
0......0

und hier ist mein Code, mit der Fehlermeldungen:


{
float grenzen[6];
int xdim,ydim;
int xmin ,xmax ,ymin ,ymax;



// geometrische Grenzen in x und y Richtung auslesen

polydata->GetBounds(grenzen); //(xmin,xmax, ymin,ymax, zmin,zmax).
xmin = grenzen[0] - 20;
xmax = grenzen[1] + 20;
ymin = grenzen[2] - 20;
ymax = grenzen[3] + 20;

// Akkumulator mit Raster 1mm für x-y Ebene einrichten
xdim = xmax - xmin;
ydim = ymax - ymin;


int *pAkkum = new int[xdim];
int **ppAkkum = &pAkkum;
int *pData = new int[xdim*ydim];
for ( int i = 0; i

//akkumulator auf 0 initialisieren
for (int x_index = 0; x_index {
for (int y_index = 0; y_index {
ppAkkum[x_index][y_index]=0;

}

}

delete[] pAkkum;
delete[] ppAkkum;
delete[] pData;


}

und jetzt wenn zum Funktionaufruf kommt, wird das Ausführen abgebrochen und kommt die Meldung:
"Benutzerdefinierter Haltepunkt aus der Quellcode aufgerufen bei 77f7f570"
und dann wird das Fenster mit dem Überschrift: " [Anhalten]-[Disassemblierung]" angezeigt.

was soll das alles! was soll ich da überprüfen?

Chakhi
p.s.: Code ist aus der Diskutionen vom vorherigen Posting (Array in C++ ) entstanden...

bei Antwort benachrichtigen
Chakhi mr.escape „In der jetztigen form ist pAkkum ein array aus xdim int werten, in pAkkum selbst...“
Optionen

Danke mr.escape,
natürlich habe ich das was mir in der Diskussion gesagt wurde ausprobiert aber dann bekamm ich folgende 6 Fehlermeldungen und dann habe ich angefangen zu experimentieren:
C:\Programme\....cpp(378) : error C2059: Syntaxfehler : '*'
C:\Programme\....cpp(386) : error C2143: Syntaxfehler : Fehlendes ')' vor ';'
C:\Programme\....cpp(386) : error C2143: Syntaxfehler : Fehlendes ';' vor ')'
C:\Programme\....cpp(386) : error C2143: Syntaxfehler : Fehlendes ';' vor ')'
C:\Programme\....cpp(386) : error C2143: Syntaxfehler : Fehlendes ';' vor ')'
C:\Programme\....cpp(387) : error C2143: Syntaxfehler : Fehlendes ';' vor '{'

in Zeile 378 steht: int **ppAkkum = new *int[xdim];
in Zeile 386 steht: for (int x_index = 0; x_index {
for (int y_index = 0; y_index {
ppAkkum[x_index][y_index]=0;
std::cout }

}

und danach kommen die Deletes!

warum versteht mein Compiler das Sternchen nicht!! und was ist bei den For-Schleidern falsch!

Danke noch mal....

Chakhi

bei Antwort benachrichtigen
lemming Dreamforger