Mehrdimensionales Array

123michi19

Lt. Junior Grade
Registriert
Okt. 2014
Beiträge
321
Hey Leute,

ich bräuchte mal Eure Hilfe zu mehrdimensionalen Arrays. Ich würde gerne zwei nebeneinander stehende Zahlen addieren. Folgenden Code habe ich geschrieben:

Code:
public class ArrayTest
{
	public static void main (String[]args)
	{
		int hoehe = 3; 
		int array [][] = new int [hoehe+1][hoehe+1];
		for (int i=0; i<array.length-1;i++)
		{
			for (int j=0; j<hoehe;j++)
			{
				System.out.print(array [i][j] + array [i][j+1]);
			}
			System.out.println (" ");
		}
	}
}

Mein Problem ist jetzt, dass theoretisch die Initalisierung der Arrays fehlt. Java geht wahrscheinlich davon aus, dass steht:

0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0


Aber ich kann doch jetzt nicht mit:

arrays [0][0] = 1;

usw. anfangen?


Vielen Dank für Eure Hilfe.
 
Ne, ist keine Hausarbeit :-) Nur zu Übungszwecken für mich :-)

Die Vorprüfung war dieses Semester schon und musste online abgelegt werden.

Die Aufgabe bezieht sich auf das Pascalsche Dreieck.

Der Einfachheit halber darf die Ausgabe folgendermaßen erfolgen:

1
11
121
1331

usw.
 
Warum nimmst du nicht die zugehörige Formel?
 
Wozu brauchst dafür ein Zweidimensionales Array ?

1D-Array: Eine Zeile
2D-Array: Zeilen und Spalten, wie eine Tabelle in Excel
3D-Array: Zeilen, Spalten und Seiten, auch wie in Excel

4D Array ...mieser Code, gleicht dann eher sowas wie einer Karteikartenbox mit Seiten, diese haben wieder Zeilen und Spalten. 5D wäre ein Karton mit Karteikartenboxen usw. Zumal Array endlich sind, du musst also wissen wie tief es ist.

Weiß man dies nicht, nimmt man eher Listen. Im Prinzip steht die 1 ganz oben, jede Ebene hat 1 Element mehr wie die oben drüber. Wenn du dir das Dreieck anschaust und die Zahlenbetrachtest, solltest du den Algorithmus schnell erkennen. Z.b. sei die 1 Anfangs Index 0 und i die aktuelle Position die berechnet werden soll.

Zweite Ebene im Dreieck: (i-1) und (i-2)
Dritte: (i-2) und (i-3)+(i-2) und (i-3)
usw.

Die Ergebnisse musst dir dann nur noch merken. Anders gesagt, eine schlaue Schleife berechnet den Kram wie von selbst und ist eines Studiums würdig :D
 
Zuletzt bearbeitet:
Zweidimensionales Array ist eine obligatorische Angabe und darf nicht umgangen werden :-)
 
Ich würd zum testen Werte in die Felder schreiben, die sich aus den Index-zahlen i und j ergeben.
Also zB 10*Spalte + Zeile.
Das wäre dann:
Code:
for i
  for j
    array[i][j] = i + j*10;
So hättest du bis zur Größe 9x9 sehr einfache Zahlen, da alles unter 99 liegt und man bei jedem Array-Feld eindeutig weiß wie es zustande gekommen ist. Außerdem lassen sich dann die Ergebnisse deiner Berechnung einfach nachvollziehen.
 

Ähnliche Themen

Zurück
Oben