Ich habe einen kurzen demo-quelltext im internet gefunden. jedoch ist er in delphi und darin bin ich absoluter analphabet. ich habe den text sozugen manuell nach c++ portiert, bin mir aber nicht sicher ober stimmt. kann mir jemand sagen ob das so stimmt bzw. wenn nicht was falsch ist?
Delphi:
Function ggTerw(a,b: integer; var u,v: integer):integer;
var u0, v0:integer;
begin
if b = 0 then Begin
result := a;
u := 1;
v := 0;
End else Begin
result := ggTerw(b, a mod b, u0, v0);//rekursiv
u := v0;
v := u0 - (a div b)*v0;
End;
end;
C++:
int ggTerw( int a, int b, int u, int v)
{
int u0= 0; int v0=0;
if(b==0)
{
u = 1; v = 0;
return a;
}
else
{
u = v0;
div_t v = div(a,b); v = u0 - v.quot*v0;
return ggTerw(b, a % b, u0, v0); //rekursiv
}
}
Ich bedanke mich schon mal im vorraus ausserordentlich bei jedem helfenden, werde es aber sicher hinterher nochmal tun.
Vielen Dank
Mike
Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge
Hallo mr. esc(alt+f4 geht auch?)
Der nickname mr.escape stammt tatsächlich von einer escape taste, verliehen durch ein programm, wo die benutzung der escape taste verpönt war.
Wie meinst du das mit zufälligen ehemaligen Stack-Werten ?
Das sind die werte, die in nicht initialisierten, nicht statischen und nicht explizit allokierten und damit eben automatischen (stack)variablen drin stehen. Z.b. in :
void foo(){
int i;
}
ist der inhalt von i nicht definiert. Irgend etwas steht aber drin und da der speicherort auf dem stack ist, ist es ein alter stack wert (ehemalige parameter, rücksprungadresse, gesicherte registerinhalte etc.)
mr.escape
Der nickname mr.escape stammt tatsächlich von einer escape taste, verliehen durch ein programm, wo die benutzung der escape taste verpönt war.
Wie meinst du das mit zufälligen ehemaligen Stack-Werten ?
Das sind die werte, die in nicht initialisierten, nicht statischen und nicht explizit allokierten und damit eben automatischen (stack)variablen drin stehen. Z.b. in :
void foo(){
int i;
}
ist der inhalt von i nicht definiert. Irgend etwas steht aber drin und da der speicherort auf dem stack ist, ist es ein alter stack wert (ehemalige parameter, rücksprungadresse, gesicherte registerinhalte etc.)
mr.escape