Programmieren - alles kontrollieren 4.940 Themen, 20.676 Beiträge

Von Delphi nach C++, kann das mal einer prüfen bitte

PaoloP / 12 Antworten / Flachansicht Nickles

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

Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen
PaoloP mr.escape „Von Delphi nach C++, kann das mal einer prüfen bitte“
Optionen

Hi Mr.Escape

Ja , mein vorläufiges amtliches Endergebniss sieht auch so ähnlich aus. Nämlich so:

int ggTerw( int &a, int &b, int &u, int &v)
{
int u0= 0; int v0=0;
int new_b=0;

if(b==0)
{
u = 1;
v = 0;
return a;
}
else
{
u = v0;
div_t dv = div(a, b);
v = u0 - dv.quot * v0;
new_b = a%b;
return ggTerw(b, new_b, u0, v0); //rekursiv
}
}
..........
Falls es jemanden interessiert, ich bastele eine Klasse für RSA also Public Key Verschlüsselung und wenn die fertig können die an meinen Problemchen anteilnehmenden Personen sich die Klasse gerne zuschicken lassen.

Viele Grüsse und nochmals Danke
Mike

Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen