Aufgabe 4.1 Horner falsche Rekursionstiefe

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Aufgabe 4.1 Horner falsche Rekursionstiefe
Hi,
Ich weiß, dass haben jz mindestens schon 20 Leute gefragt und ich bin auch alle Threads durchgegangen aber das hat mir alles nicht geholfen. Die helper-Methode gibt immer das korrekte Ergebnis zurück, aber schon beim 2ten Testfall (7,4) stimmt die Rekursionstiefe nicht mehr (1 statt erwarteten 3). Ich habe meinen Basisfall für i = 0 implementiert. Stimmt irgendetwas mit meinem Basisfall nicht oder muss ich den Fehler woanders suchen?
Danke!


Machst du in der evaluate() irgendetwas außer helper() aufrufen?


Dann muss es an der Variablen liegen die du beim Rekursionsaufruf änderst.
Die ist dann zu früh = 0


In der evaluate() Methode mach ich nix anderes. Und inwiefer kann i zu früh 0 sein? Ich verringere es bei jedem Aufruf um 1.


Naja der Wert den du am Anfang übergibst dürfte dann nicht stimmen, dadurch ist i dann eben bereits nach dem 1. Rekursionsaufruf 0 und du erreichst den Basisfall


ich rufe helper auf mit i = a.length - 1

sollte es dann wohl a.lenght sein? hab mich so dran gewöhnt immer 1 abzuziehen


Genau. Hatte das anfangs so wie du, aber du musst dir halt immer überlegen für was du .length genau brauchst
und da man es hier ja nicht als Index für ein Array benutzt muss man auch nicht 1 abziehen.


Ok hab es jz endlich geschafft. war egtl ein ganz trivialer Fehler den ich 3h lang übersehen hab… nicht nachts um 1 uhr uniübungen machen liebe leute :slight_smile:
Aber danke für eure Hilfe :slight_smile: