hilfe bei fehlersuche und codeoptimierung
-
hallo ich hab folgendes vor:
es existiert ein 2D bool feld ( dynamisch erstellt )
m1[][] und m2[][] ( m2 ist eine teemporäre kopie )nun hab ich noch ein feld shift[] mit länge x (m1[x][y]) , also so lang wie
m1[][] in x richtung.Nun will ich das m1 feld um "shift[x]" positionen in y richtung rotieren und hab das so realisiert aber irgendwie will es nicht
for(int x=0;x<Width;x++)
for(int y=0;y<Height;y++)
{
int temp = y-shift[x]; // index berechnen
if(temp<0)m1[x][y] = m2[x][Height+temp-1]; // falls der index < 0 wird
else m1[x][y]=m2[x][temp]; // ansonsten wird der index genommen
}
for(int x=0;x<Width;x++) // kopie aktualisieren
for(int y=0;y<Height;y++)
m2[x][y]=m1[x][y];Nochmal zu meinem vorhaben :
m[3][3] = 1,2,3
2,3,4
3,4,5shift[3] = 1,2,3
als ergebnis will ich folgendes
m[3][3] = 3,3,3
1,4,4
2,2,5
-
so ist ne bessere sicht
m[3][3] =
1,2,3
2,3,4
3,4,5shift[3] = 1,2,3
als ergebnis will ich folgendes
m[3][3] =3,3,3
1,4,4
2,2,5