Java :: Aufgabe #55 :: Lösung #2

5 Lösungen Lösungen öffentlich
#55

Matrizen um 90 Grad drehen

Anfänger - Java von pocki - 11.11.2013 um 16:38 Uhr
Erstelle ein Programm, welches als Eingabe eine Matrix beliebiger Größe entgegennimmt und diese dann um 90 Grad dreht.

Beispiel an einer 4x4 Matrix:
Eingabematrix mit den Elementen:
a11 a12 a13 a14
a21 a22 a23 a24
a31 a32 a33 a34
a41 a42 a43 a44

sollte diese Ausgabematrix erzeugen:
a41 a31 a21 a11
a42 a32 a22 a12
a43 a33 a23 a13
a44 a34 a24 a14

Das Programm sollte für unterschiedlich großen und auch mit nicht quadratischen Matrizen funktionieren.
#2
vote_ok
von ElPapito (2690 Punkte) - 09.05.2015 um 01:41 Uhr
Quellcode ausblenden Java-Code

/**
 * @author ElPapito
 * @date 09.05.2015
 */

public class MatrizenUm90GradDrehen {

	public static void main(String[] args) {
		double[][] a = { { 1, 2, 3 },
						 { 4, 5, 6 },
						 { 7, 8, 9 },
						 { 0, 1, 2 } };
		print(a);
		System.out.println();

		double[][] b = rotate90Degree(a);
		print(b);
	}

	public static double[][] rotate90Degree(double[][] matrix) {
		int newCols = matrix.length;
		int newRows = matrix[0].length;

		double[][] newMatrix = new double[newRows][newCols];

		for (int i = 0; i < newRows; i++) {
			for (int j = 0; j < newCols; j++) {
				newMatrix[i][j] = matrix[newCols - 1 - j][i];
			}
		}

		return newMatrix;
	}

	public static void print(double[][] matrix) {
		for (int i = 0; i < matrix.length; i++) {
			for (int j = 0; j < matrix[i].length; j++) {
				System.out.print(matrix[i][j] + " ");
			}
			System.out.println();
		}
	}

}

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben