Spalten/Zeilen verschieben in zweidimensionalen Arrays?

Diskutiere Spalten/Zeilen verschieben in zweidimensionalen Arrays? im Allgemeine Java-Themen Bereich.
R

Reykja

Hallo im Array sollen alle Zeilen um eine Zeile nach oben verschoben werden. Die oberste Zeile wiederum wird ganz unten eingefügt
z.B.
shiftLinesInArray(new int[][]
{{1,3,5},
{6,2,1},
{0,7,9}}) erzeugt →

621
079
135

Java:
private static void shiftLinesInArray(int[][] workArray) {
        for (int i = 0; i < workArray.length ; i++) {
            for (int j = 0; j < workArray.length; j++) {
                System.out.print(workArray[i][j] + " ");
            }
            System.out.println();
        }
    }
aktuell bin ich so weit, dass das ursprüngliche Array ausgegeben wird, hat jemand evtl. einen Ansatz / eine Idee?
LG
 
MoxxiManagarm

MoxxiManagarm

Sollst du das Array nur ausgeben oder auch verändern bzw. das Resultat zurückgeben? Dein bestehender Code, zur reinen Ausgabe, würde mit einer kleinen Änderung funktionieren. Es gibt mehrere Möglichkeiten, ich zeige dir eine mit Modulo.

Java:
private static void shiftLinesInArray(int[][] workArray) {
    for (int i = 0; i < workArray.length ; i++) {
        int shiftedI = (i+1) % workArray.length;
        for (int j = 0; j < workArray.length; j++) {
            System.out.print(workArray[shiftedI][j] + " ");
        }
        System.out.println();
    }
}
 
R

Reykja

Sollst du das Array nur ausgeben oder auch verändern bzw. das Resultat zurückgeben
Es soll nur das neue Array ausgegeben werden. Aber der gleiche Code sollte noch auf ein weiteres Beispiel anwendbar sein und zwar:
shiftLinesInArray(new int[][]
{{1,5,6,7},
{1,9,3},
{4},
{6,3,0,6,2},
{6,3,0}, erzeugt →

193
4
63062
630
1567

int shiftedI = (i+1) % workArray.length;
Der neue Wert von i ist dafür zuständig, dass die Zeilen "verschoben" werden, oder?
 
Thema: 

Spalten/Zeilen verschieben in zweidimensionalen Arrays?

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben