Guten Abend ihr Lieben,
es schämt mich, dass ich mich hier melden muss, aber es geht nicht mehr. Ich google seit Tagen schon nur rum, les Literatur, aber ich komme bei der (eigentlich einfachen) Aufgabe nicht voran bzw mir fehlt die Vorstellungskraft oder Basis zur Umsetzung. Ich hatte allgemein schon inhaltliche Schwierigkeiten bei der Aufgabe, aber diese haben sich gelichtet. Im Prinzip geht es um ein Friseursalon und um die Frage wie die Kunden auf die Friseure verteilt werden (genaue Details unten zsmgefasst). Also die erste Zahl die über die Kommandozeile mitgegeben wird ist die Anzahl der Friseure, die 2. ist mein Platz in der Schlange und die letzten Zahlen sind die Minuten, die der jeweilige Friseur braucht. Aber kann mir bitte irgendwer zeigen/erklären wie die Grundidee/Grundstruktur des Programms aussehen? Mir ist einfach nicht klar, wie das auszusehen hat. Weil unten im Beispieldurchlauf sieht man, dass bei 2 Friseuren es insgesamt 5 Zahlen gibt, die der Kommandozeile mitgegeben werden ( 2 Friseure Mein Platz und die Dauer in Minuten jeweils für die 2 Friseure) , aber bei 3 Friseuren sind es dann 6 Zahlen , die über die Kommandozeile mitgegeben werden? Wie ist das bitte umzusetzen im Programm? Ich wäre wirklich wirklich dankbar, wenn mir jemand einen groben Aufbau von dem ganzen als Input zeigen könnte.
Hier die Infos für die Modellierung:
Sie stehen in einer langen Schlange, um einen Haarschnitt in einem Friseursalon zu bekommen. Der Salon hat B Friseure im Dienst, welche von 1 bis B durchnummeriert sind. Der k te Friseur braucht immer genau Mk Minuten, um einem Kunden die Haare zu schneiden. Ein Friseur kann gleichzeitig nur einem Kunden die Haare schneiden, sobald ein Friseur die Haare des Kunden fertig geschnitten hat, schneidet er sofort die Haare des nächsten Kunden.
Solange der Friseursalon geöffnet ist, geht der Kunde, welcher an der Spitze der Schlange steht, immer zum Friseur mit der niedrigsten Nummer, der verfügbar ist. Wenn kein Friseur verfügbar ist, wartet dieser Kunde, bis mindestens einer verfügbar ist. Sie sind die n te Person in der Warteschlange, und der Friseursalon hat gerade geöffnet. Welcher Friseur wird Ihnen die Haare schneiden?
Um diese Frage beantworten zu können, nimmt Ihr Programm mehre natürliche Zahlen als Kommandozeilenparameter entgegen und gibt das Ergebnis wieder auf die Kommandozeile aus. Sie können davon ausgehen, dass die eingegebenen Parameter immer dem hier vorgegebenen Format entsprechen. Setzen Sie nur die in der Aufgabenstellung angegebenen Informationen um. Die erste Zahl ist die Anzahl der Friseure B (1<=B<=1000) und die zweite Zahl ist Ihr Platz in der Warteschlange N (1<=N<=10^9). Der Kunde am Anfang der Schlange hat den Platz mit der Nummer 1, der nächste ist Nummer 2 und so weiter. Die nachfolgenden Zahlen sind M1 M2 M3 .. Mk
Sobald das Ergebnis dieser Eingabe feststeht, wird die Nummer des Friseurs, der Ihnen die Haare schneiden wird, über den standardmäßigen Ausgabe-Stream auf die Kommandozeile ausgegeben. Danach beendet sich Ihr Programm regulär.
Eine Beispieleingabe des Programms sieht so aus :
> java Haircut 2 4 10 5
1
> java Haircut 3 12 7 7 7
3
> java Haircut 3 8 4 2 1
1
Also ich weiß net ob die Aufgabe für euch direkt klar ist, aber beim Beispiel 1 bedeutet es einfach, dass ich an Platz 4 in der Warteschlange sitze bei 2 Friseuren, die ein mal 10 und 5 Minuten brauchen. Kunde 1 geht also zu Friseur 1 und braucht 10 minuten. Währenddessen macht Friseur 2 Kunde 2 und 3, da dieser nur 5 Minuten braucht. Also bin ich (Platz 4 in der Schlange) wieder beim 1. Friseur. Allein um das zu verstehen hab ich tage gebraucht. Deswegen wäre um jegliche Hilfe dankbar
es schämt mich, dass ich mich hier melden muss, aber es geht nicht mehr. Ich google seit Tagen schon nur rum, les Literatur, aber ich komme bei der (eigentlich einfachen) Aufgabe nicht voran bzw mir fehlt die Vorstellungskraft oder Basis zur Umsetzung. Ich hatte allgemein schon inhaltliche Schwierigkeiten bei der Aufgabe, aber diese haben sich gelichtet. Im Prinzip geht es um ein Friseursalon und um die Frage wie die Kunden auf die Friseure verteilt werden (genaue Details unten zsmgefasst). Also die erste Zahl die über die Kommandozeile mitgegeben wird ist die Anzahl der Friseure, die 2. ist mein Platz in der Schlange und die letzten Zahlen sind die Minuten, die der jeweilige Friseur braucht. Aber kann mir bitte irgendwer zeigen/erklären wie die Grundidee/Grundstruktur des Programms aussehen? Mir ist einfach nicht klar, wie das auszusehen hat. Weil unten im Beispieldurchlauf sieht man, dass bei 2 Friseuren es insgesamt 5 Zahlen gibt, die der Kommandozeile mitgegeben werden ( 2 Friseure Mein Platz und die Dauer in Minuten jeweils für die 2 Friseure) , aber bei 3 Friseuren sind es dann 6 Zahlen , die über die Kommandozeile mitgegeben werden? Wie ist das bitte umzusetzen im Programm? Ich wäre wirklich wirklich dankbar, wenn mir jemand einen groben Aufbau von dem ganzen als Input zeigen könnte.
Hier die Infos für die Modellierung:
Sie stehen in einer langen Schlange, um einen Haarschnitt in einem Friseursalon zu bekommen. Der Salon hat B Friseure im Dienst, welche von 1 bis B durchnummeriert sind. Der k te Friseur braucht immer genau Mk Minuten, um einem Kunden die Haare zu schneiden. Ein Friseur kann gleichzeitig nur einem Kunden die Haare schneiden, sobald ein Friseur die Haare des Kunden fertig geschnitten hat, schneidet er sofort die Haare des nächsten Kunden.
Solange der Friseursalon geöffnet ist, geht der Kunde, welcher an der Spitze der Schlange steht, immer zum Friseur mit der niedrigsten Nummer, der verfügbar ist. Wenn kein Friseur verfügbar ist, wartet dieser Kunde, bis mindestens einer verfügbar ist. Sie sind die n te Person in der Warteschlange, und der Friseursalon hat gerade geöffnet. Welcher Friseur wird Ihnen die Haare schneiden?
Um diese Frage beantworten zu können, nimmt Ihr Programm mehre natürliche Zahlen als Kommandozeilenparameter entgegen und gibt das Ergebnis wieder auf die Kommandozeile aus. Sie können davon ausgehen, dass die eingegebenen Parameter immer dem hier vorgegebenen Format entsprechen. Setzen Sie nur die in der Aufgabenstellung angegebenen Informationen um. Die erste Zahl ist die Anzahl der Friseure B (1<=B<=1000) und die zweite Zahl ist Ihr Platz in der Warteschlange N (1<=N<=10^9). Der Kunde am Anfang der Schlange hat den Platz mit der Nummer 1, der nächste ist Nummer 2 und so weiter. Die nachfolgenden Zahlen sind M1 M2 M3 .. Mk
Sobald das Ergebnis dieser Eingabe feststeht, wird die Nummer des Friseurs, der Ihnen die Haare schneiden wird, über den standardmäßigen Ausgabe-Stream auf die Kommandozeile ausgegeben. Danach beendet sich Ihr Programm regulär.
Eine Beispieleingabe des Programms sieht so aus :
> java Haircut 2 4 10 5
1
> java Haircut 3 12 7 7 7
3
> java Haircut 3 8 4 2 1
1
Also ich weiß net ob die Aufgabe für euch direkt klar ist, aber beim Beispiel 1 bedeutet es einfach, dass ich an Platz 4 in der Warteschlange sitze bei 2 Friseuren, die ein mal 10 und 5 Minuten brauchen. Kunde 1 geht also zu Friseur 1 und braucht 10 minuten. Währenddessen macht Friseur 2 Kunde 2 und 3, da dieser nur 5 Minuten braucht. Also bin ich (Platz 4 in der Schlange) wieder beim 1. Friseur. Allein um das zu verstehen hab ich tage gebraucht. Deswegen wäre um jegliche Hilfe dankbar