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

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.
#1
vote_ok
von unavailable (340 Punkte) - 02.05.2014 um 11:10 Uhr
Quellcode ausblenden Java-Code
public class Matrix
{
	public static void main(String[] args)
	{
		int matrix[][] = { 
				{ 1, 2, 3, 4 }, 
				{ 5, 6, 7, 8 },
				{ 9, 10, 11, 12 },
				{ 13, 14, 15, 16 } 
				};

		// 4x4 matrix ausgeben lassen
		for (int reihe = 0; reihe < matrix.length; ++reihe)
		{
			for (int spalte = 0; spalte < matrix[reihe].length; ++spalte)
			{
				System.out.print(matrix[reihe][spalte] + "\t");
			}
			System.out.println("\n");

		}
		System.out.println("\n");
		System.out.println("\n");

		matrix = dreheArray(matrix);

		for (int reihe = 0; reihe < matrix.length; ++reihe)
		{
			for (int spalte = 0; spalte < matrix[reihe].length; ++spalte)
			{
				System.out.print(matrix[reihe][spalte] + "\t");
			}
			System.out.println("\n");

		}

	}

	public static int[][] dreheArray(int[][] array)
	{
		int[][] neuesArray = new int[array[0].length][array.length];

		for (int i = 0; i < neuesArray.length; i++)
		{
			for (int j = 0; j < neuesArray[0].length; j++)
			{
				neuesArray[i][j] = array[j][array[j].length - i - 1];
			}
		}

		return neuesArray;
	}
}


Output:
1 2 3 4

5 6 7 8

9 10 11 12

13 14 15 16





4 8 12 16

3 7 11 15

2 6 10 14

1 5 9 13

Kommentare:

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

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