![]() |
Rekursion C++
Ich soll ne rekursiv definierte Problemstellung programmieren. Es geht um folgendes :
Eine Haltestelle wird zum Zeitpunkt X das erste mal und zum Zeitpunkt Y das letzte mal. Wenn nach n Minuten ein Bus hält, hält auch einer nach n+12 und einer nach 2n+5 Minuten. Nun soll das Programm angeben, ob zu einem Zeitpunkt Z ein Bus hält. Eingegeben werden X, Y und Z. Meine herangehensweise bisher: Zuerst berechne ich die Differenz von Z zu X : z.B X = 8:00 und Z = 14:00 Z - X = 6 Stunden und dann auf minuten n = 6 * 60 . Soooo Wenn nun bei den Minuten rest 0 rauskommt bei mod10, dann kann ich ja gleich ausspucken "ja es fährt ein bus" Sollte das nicht der Fall sein, kommt ne rekursive Funktion ins Spiel : Um zu berechen ob nach n minuten ein bus fährt, muss ich schauen ob nach n-12 und nach (n-5)*1/2 minuten ein Bus fährt. um zu schauen ob da ein bus fährt muss ich gucken ob nach (n-24) oder nach ((n-5)*1/2)-5)*1/2 minuten ein Bus fährt usw. Und da is mein Problem ! Wie packe ich das in ne rekursive Funktion ? funktion(n) if(n<=0) return 0; else n_eins = funktion(n-12) ; n_zwei = funktion((n-5)*1/2) ; ? wenn n = 0 dann fährt zum Zeitpunkt Z ein Bus. vllt brauch ich nur einen kleinen Schubs !? ;) Schonmal vielen Dank für eure Hilfe ! :) |
wie hast du denn die Abfahrzeiten der Busse gegeben? Als Datei? Als Array?
|
Zitat:
Also vom User eingegeben wird nur der Zeitpunkt X wann der erste Bus fährt, Zeitpunkt Y (wichtig für ne andere Teilaufgabe) wann der letzte Bus fährt und Zeitpunkt Z wann man gerne fahren möchte. Da reichen ja normale int Variablen. Ich gebe die Anweisung, das der User die Uhrzeit ohne Doppelpunkt schreiben soll, also aus 13:15 wird 1315 ! Damit berechne ich dann n (siehe 1. post) Aus diesen Daten muss ich rekursiv bestimmen, ob zu diesem Zeitpunkt Z ein Bus fährt oder nicht. Die einzelnen Zeiten, wann ein Bus fährt, muss ich nicht speichern, die sind nicht von belang ! Das wird ja ein Binärbaum sein, also müsste ich, nach meinem Verständnis, 2 rekursive Funktionsaufrufe in der Funktion haben !? lg |
ah, lecker [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] :) urgas liebling ....
du hattest es ja schon fast. nur fehlt deiner funktion ein zweiter parameter. und zwar der startpunkt des jeweiligen busses... Zitat:
|
Super, danke dir :) Hat funktioniert !
Deinen Namen merk ich mir ;) lg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr. |
Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.