![]() |
Re: Exakte Addition langer Zahlen
Zitat:
:lol: |
Re: Exakte Addition langer Zahlen
Zitat:
|
Re: Exakte Addition langer Zahlen
Ich lach mich tot :tongue:
Gini: Wie schauts denn aus? MfG |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage |
Re: Exakte Addition langer Zahlen
Bei dem array-mäßigen zugriff
- von welchen typ müssen da die variablen sein? weil das mit .lenght funktioniert bei mir nicht =( |
Re: Exakte Addition langer Zahlen
iwie komm ich gar nicht zurecht^^ :-D
mir fehlt gerade ein geistesblitz, um das mit dem pc manuell aufaddieren zu können^^ @mkinzler: er fühlt sich dann nicht besser^^ ich bin eine sie :-P |
Re: Exakte Addition langer Zahlen
Und wenn man einfach das ganze Binär ausrechnet? Also richtige binäre Addidition. Und die Ausgabe dann als String machen. Das wäre glaube ich doch bestimmt schneller ...
|
Re: Exakte Addition langer Zahlen
ich hab ne lösung, aber dir die jetzt zu schicken ist ja auch was doof :P denn du sollst das ja auch verstehen
erst mal die beiden strings auf eine länge bringen und dann jeweils die die einzelnen zeichen addieren (vom der lange der strings bis runter zu 1) zwischen -> zahl[i] + zahl2[i]+uebertrag dann den wert des übertrages ermitteln für den nächsten additionsschritt (zahl[i-1]+zahl[i-2]+uebertrag) wenn zwischen jetzt 2 stellig ist dann einfach nur die 2. stelle zum ergebnis speichern result -> zwischen[2]+result wenn nicht uebertrag -> 0 result-> zwischen+result wenn am ende also bei der addition von zahl[1]+zahl[1]+uebertrag nochmal ein übertrag entsteht den auch einfach nochmal zum ergebnis hinzufügen mhm sollte jetzt eigentlich ohne weiteres möglich sein einen algo zu schreiben, der steht ja da schon fast^^ |
Re: Exakte Addition langer Zahlen
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo, wenn ich den Threadstarter richtig verstanden habe, dann meint er sowas:
Delphi-Quellcode:
mfg xewo
procedure TForm1.BtnBerechnenClick(Sender: TObject);
var Zahl1,Zahl2,Ergebnis,TempUE : String; UEbertrag, Temp1, Temp2, TempE, Laenge, i : Integer; begin Zahl1 := EdZahl1.Text; Zahl2 := EdZahl2.Text; UEbertrag := 0; if length(Zahl1) > length (Zahl2) then Laenge := length(Zahl1) else if length(Zahl2) > length (Zahl1) then Laenge := length(Zahl2) else if length(Zahl2) = length (Zahl1) then Laenge := length(Zahl1); for i := 0 to Laenge-1 do begin if length(Zahl1) -i < 0 then begin Temp2 := StrToInt(Zahl2[length(Zahl2) - i]); Temp1 := 0; UEbertrag := 0; end else if length(Zahl2) -i < 0 then begin Temp1 := StrToInt(Zahl1[length(Zahl1) - i]); Temp2 := 0; UEbertrag := 0; end else begin Temp1 := StrToInt(Zahl1[length(Zahl1) - i]); Temp2 := StrToInt(Zahl2[length(Zahl2) - i]); end; if Temp1+Temp2+UEbertrag >= 10 then begin TempUE := IntToStr(Temp1 + Temp2 + UEbertrag); Ergebnis := TempUE[2] + Ergebnis; UEbertrag := StrToInt(TempUE[1]); end else begin Ergebnis := IntToStr(Temp1 + Temp2 + UEbertrag)[1] + Ergebnis; UEbertrag := 0; end; end; EdErgebnis.Text := Ergebnis; end; |
Re: Exakte Addition langer Zahlen
Dieser Vorgang wurde schon X. Mal erklärt :P
MfG |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 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