2d-array spiegeln
-
hallo,
müsste ein 2 dimensionales array [x-achse][y-achse] spiegeln.
eine prozedur die mir das array um die x-achse spiegelt.
und eine die mirs um die y-achse spiegelt...wie geh ich das am besten an?
hab mir gedacht spiegeln um die x-achse mach ich so
int m = m_height+2; for(int y = 0; y < m_height; y++){ m-=2; for(int x = 0; x < m_width; x++){ uint8_t tmp = data[x][y]; data[x][y] = data[x][y + m]; data[x][y+m] = tmp; } }bringt aber leider nicht das richtige ergebnis ...

-
Könnte es sein, dass du wieder zurückspiegelst?

Ich würde nur bis in die Mitte laufen. Zudem kannst du für den Tausch die Funktion
std::swapder Standardbibliothek benutzen. Eine Möglichkeit wäre die Folgende, du müsstest sie vielleicht noch etwas zurechtschneiden:for (int x = 0; x < Width/2; ++x) for (int y = 0; y < Height; ++y) std::swap(Array[x][y], Array[Width-1-x][y]);Analog zur anderen Achse.