MINT üben

Zweidimensionale Reihungen

Zwei Aufgaben im Stil des Abiturs — Plätze im Kinosaal und ein Graustufenbild.

Dein Fortschritt:
0 / 0 Aufgaben
1

Plätze im Kinosaal

AFB I–II

Ein Kino verwaltet die Belegung eines Saals mit 8 Reihen zu je 12 Plätzen in einer zweidimensionalen Reihung: boolean[][] belegt = new boolean[8][12]; Der erste Index ist die Reihe (Zeile), der zweite der Platz in der Reihe (Spalte); true bedeutet belegt. Die Abbildung zeigt einen kleinen Testsaal test mit 3 Reihen und 5 Plätzen.

Testsaal test mit 3 Reihen und 5 Plätzen
LEINWANDs = 0s = 1s = 2s = 3s = 4z = 0z = 1z = 2rot mit Kreuz = belegt · weiß = frei
Zeile z = Reihe, Spalte s = Platz in der Reihe
  1. Beschreiben Sie die Bedeutung von belegt.length, belegt[0].length und belegt[7][11] im Sachzusammenhang und den Zustand des Saals direkt nach der Erzeugung der Reihung.
  2. Stellen Sie einen Algorithmus freiInReihe(saal, r) als Struktogramm dar, der die Anzahl der freien Plätze in Reihe r zurückgibt.
  3. Wenden Sie freiInReihe auf alle drei Reihen des Testsaals an. Geben Sie außerdem an, an welcher Position das Element test[2][3] stünde, wenn man den Testsaal zeilenweise in eine eindimensionale Reihung abwickelt (Position ab 0).
  4. Implementieren Sie in Java eine Methode int besteReihe(boolean[][] saal), die den Index der Reihe mit den meisten freien Plätzen zurückgibt; bei Gleichstand die vordere Reihe (kleinerer Index). Sie dürfen eine Methode freiInReihe nach b) verwenden.

Hinweise

Hinweis zu Aufgabe a)
Welche Zahl in new boolean[8][12] steht für die Reihen? Welchen Standardwert hat boolean?
Hinweis zu Aufgabe b)
Eine einzige Schleife über die Spalten der Reihe r genügt; die Anzahl der Plätze ist Länge von saal[r].
Hinweis zu Aufgabe c)
Freie Plätze pro Reihe auszählen. Für die Position: Wie viele Plätze liegen zeilenweise vor test[2][3]?
Hinweis zu Aufgabe d)
Muster „Maximum suchen“ — aber verglichen werden die Ergebnisse von freiInReihe, gemerkt wird der Index. Echt größer (>) sorgt für die vordere Reihe bei Gleichstand.