Hallo Leute, ich habe bei einer Aufgabe folgendes Problem:
Ich soll ein 2D-Array mit einem Zahlenmuster füllen, bei dem die Zahl n (die Zahl, die die Größe des 2D-Arrays bestimmt und gleichzeitig die größte Ziffer ist) diagonal von rechts oben nach links unten laufen soll. Alle Einträge, die links und rechts von der Zahl n sind, werden von n absteigend initialisiert, also zB:
n = 5
1 2 3 4 5
2 3 4 5 4
3 4 5 4 3
4 5 4 3 2
5 4 3 2 1
Mein Problem ist nun, dass ich nicht weiß, wie ich die einzelnen Einträge links und rechts von n implementieren soll, dass sie eben dieses Muster ergeben.
Ich habe zuerst die Diagonale implementiert:
Ich dachte mir, dass ich das Array in 3 Teile teile, also:
Kann mir jemand einen Denkanstoß geben, wie ich genau vorgehen soll?
Ich soll ein 2D-Array mit einem Zahlenmuster füllen, bei dem die Zahl n (die Zahl, die die Größe des 2D-Arrays bestimmt und gleichzeitig die größte Ziffer ist) diagonal von rechts oben nach links unten laufen soll. Alle Einträge, die links und rechts von der Zahl n sind, werden von n absteigend initialisiert, also zB:
n = 5
1 2 3 4 5
2 3 4 5 4
3 4 5 4 3
4 5 4 3 2
5 4 3 2 1
Mein Problem ist nun, dass ich nicht weiß, wie ich die einzelnen Einträge links und rechts von n implementieren soll, dass sie eben dieses Muster ergeben.
Ich habe zuerst die Diagonale implementiert:
Java:
int column = 0;
for (int row = n - 1; row >= 0; row--) { //diagonale
numberArray[row][column] = n;
column++;
}
/*
Ausgabe:
0 0 0 0 5
0 0 0 5 0
0 0 5 0 0
0 5 0 0 0
5 0 0 0 0
*/
Ich dachte mir, dass ich das Array in 3 Teile teile, also:
- links von der Diagonale
- Diagonale
- rechts von der Diagonale
Kann mir jemand einen Denkanstoß geben, wie ich genau vorgehen soll?