010
13.01.2004, 14:35 Uhr
virtual
Sexiest Bit alive (Operator)
|
Also noch mal zur erklärung mit den Sternchen:
Wenn Du ein
Hast, dann ist a ein zusammenhängender Speicherblock, in dem du Platz für 2*3 ints hast. Die verschienden Dimensionen spielen dabei keine Rolle. daher Sprichst Du das Array mit hilfe von int* an. In meinem Post bin ich davon ausgegangen, daß Das Array immer die gleichen dimansionen hat; wenn nicht dann mußt du - wie du es ja schon gemacht hast, die Dimensionen noch zusätzlich als parameter übergeben:
| C++: |
void matrixausgabe(double* matrix, unsigned int sizex, unsigned int sizey) // nur ein "*"!!!
|
Die Informationen, daß matrix ein 2D Array ist, geht bei der Übergabe verloren. matrix ist einfach ein Speicherbereich, in dem sizex*sizey Elemente Platz haben. Daher mußt Du in Deiner Funktion den Kram dann wieder per Hand auseinanderklamüsern:
| C++: |
unsigned int x,y;
for (y=0;y<sizey; y++) { for (x=0; x<sizex; x++) { [b]cout<<matrix[x+sizex*y];[/b] } cout<<endl; }
|
-- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) |