Programmieren - alles kontrollieren 4.938 Themen, 20.667 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

Hallo mr. esc(alt+f4 geht auch?)

Zuerst: div ist einfach nur Ganzzahldivision und nicht mehr. Da hat mir so ein Möchtegernexperte Mist erzählt. Deswegen kam bei meinen Berechnungen nach dem Private-Key d, n auch immer 0 raus.
Naja schwamm drüber. Aufrgrund deine Empfehlung werde ich die Werte nun mit -1 initialisieren. Wie meinst du das mit zufälligen ehemaligen Stack-Werten ?

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