Dein Fortschritt:
0 / 0 Aufgaben
1
Plätze im Kinosaal
AFB I–IIEin 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
- Beschreiben Sie die Bedeutung von
belegt.length,belegt[0].lengthundbelegt[7][11]im Sachzusammenhang und den Zustand des Saals direkt nach der Erzeugung der Reihung. - Stellen Sie einen Algorithmus
freiInReihe(saal, r)als Struktogramm dar, der die Anzahl der freien Plätze in Reiherzurückgibt. - Wenden Sie
freiInReiheauf alle drei Reihen des Testsaals an. Geben Sie außerdem an, an welcher Position das Elementtest[2][3]stünde, wenn man den Testsaal zeilenweise in eine eindimensionale Reihung abwickelt (Position ab 0). - 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 MethodefreiInReihenach 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.