AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Exakte Addition langer Zahlen

Ein Thema von ginimausi · begonnen am 19. Mär 2009 · letzter Beitrag vom 25. Mär 2009
Antwort Antwort
Seite 3 von 5     123 45      
Frankfurtoder

Registriert seit: 27. Mär 2008
112 Beiträge
 
RAD-Studio 2010 Pro
 
#21

Re: Exakte Addition langer Zahlen

  Alt 19. Mär 2009, 14:55
Zitat von mr_emre_d:
Manuell aufaddieren heißt es per Hand zu machen
Boah. Ich habe gerade doch wirklich gelesen "Manuell aufaddieren heißt es sich per Hand zu machen"

Erik
Alles gut?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: Exakte Addition langer Zahlen

  Alt 19. Mär 2009, 14:57
Zitat von Frankfurtoder:
Zitat von mr_emre_d:
Manuell aufaddieren heißt es per Hand zu machen
Boah. Ich habe gerade doch wirklich gelesen "Manuell aufaddieren heißt es sich per Hand zu machen"

Dann fühlt er sich vielleicht besser. Sein Problem ist dann aber immer noch nicht gelöst
Markus Kinzler
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#23

Re: Exakte Addition langer Zahlen

  Alt 19. Mär 2009, 14:59
Ich lach mich tot

Gini: Wie schauts denn aus?

MfG
  Mit Zitat antworten Zitat
19. Mär 2009, 15:11
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphi-Frage
ginimausi

Registriert seit: 22. Feb 2009
15 Beiträge
 
#25

Re: Exakte Addition langer Zahlen

  Alt 19. Mär 2009, 15:23
Bei dem array-mäßigen zugriff
- von welchen typ müssen da die variablen sein?
weil das mit .lenght funktioniert bei mir nicht
=(
  Mit Zitat antworten Zitat
ginimausi

Registriert seit: 22. Feb 2009
15 Beiträge
 
#26

Re: Exakte Addition langer Zahlen

  Alt 19. Mär 2009, 15:24
iwie komm ich gar nicht zurecht^^
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
  Mit Zitat antworten Zitat
quendolineDD

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#27

Re: Exakte Addition langer Zahlen

  Alt 19. Mär 2009, 15:25
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 ...
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#28

Re: Exakte Addition langer Zahlen

  Alt 19. Mär 2009, 15:32
ich hab ne lösung, aber dir die jetzt zu schicken ist ja auch was doof 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^^
  Mit Zitat antworten Zitat
xewo
(Gast)

n/a Beiträge
 
#29

Re: Exakte Addition langer Zahlen

  Alt 19. Mär 2009, 15:35
Hallo, wenn ich den Threadstarter richtig verstanden habe, dann meint er sowas:
Delphi-Quellcode:
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;
mfg xewo
Angehängte Dateien
Dateityp: zip lange_addition_664.zip (1,5 KB, 3x aufgerufen)
Dateityp: exe addition_155.exe (378,5 KB, 2x aufgerufen)
  Mit Zitat antworten Zitat
mr_emre_d
(Gast)

n/a Beiträge
 
#30

Re: Exakte Addition langer Zahlen

  Alt 19. Mär 2009, 15:35
Dieser Vorgang wurde schon X. Mal erklärt

MfG
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz