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
Eine noch genauere umsetzung wäre wohl:
int ggTerw( int a, int b, int &u, int &v){
int u0, v0, result;
if(b==0){
result = a;
u = 1;
v = 0;
} else {
result = ggTerw(b, a % b, u0, v0);//rekursiv
u = v0;
v = u0 - (a / b) * v0;
}
return result;
}
mr.escape