![]() |
Ackermann-Problem Stacküberlauf
Hi,
mal wieder die Ackermannfunktion, die mir Sorgen macht. Ich weiß, dass es das Thema schon einmal gab, aber das hat mir nicht wirklich geholfen! Der Stack läuft über, obwohl das inner Schule nich passiert und ich bin mir eigentlich sehr sicher alles richtig gemacht zu haben!!
Code:
Kann mir mal jemand nen Tip geben?? :stupid:
function TForm1.acker(m,n : integer) : integer;
begin if m=0 then n := n+1 else if n=0 then acker(m-1,1) else acker(m-1,acker(m,n-1)); end; |
Re: Ackermann-Problem Stacküberlauf
deine funktion ruft sich immer wieder selbst auf . das muss zum überlauf führen.
raik |
Re: Ackermann-Problem Stacküberlauf
Moin!
Zitat:
BTW deine Funktion hat (wenn ich das richtig sehe) überhaupt keinen rückgabewert. Der Compiler müsste doch eigentlich meckern. Bau erstmal überall wo's hin soll
Delphi-Quellcode:
ein. Dann könnte man evtl sagen woran der Fehler noch liegt.
result := ...
MfG Niels |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz