Autor Beitrag
Fabi.saar
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 15.11.07 17:59 
Hi
ich bin gerade dabei einen Taschenrechner für unendlich große Zahlen zu programmieren.
Realisiert habe ich das ganze mit einer doppelt verketteten Liste, es wird in jeden Knoten also immer nur eine Ziffer reingeschrieben.

Jetzt wollte ich halt eine Prozedur zum Runden einbauen, funktioniert auch soweit, außer wenn er aufrunden soll, denn dann durchläuft er einmal zu wenig die Wiederholung, um den Übertrag zu addieren, habt ihr ne Idee ?

Hier der Code

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
procedure Runden(zSchluss:tZeiger);                       
var zHilf:tZeiger;
    uebertrag:0..1;
begin
  uebertrag:=0;
  zHilf:=zSchluss;
  Repeat
    zHilf^.inh:=zHilf^.inh+uebertrag;
      if(zHilf^.inh>4)
        then begin
          zHilf^.inh:=0;
          uebertrag:=1;
        end
      else zHilf^.inh:=0;
      zHilf:=zHilf^.zVor;
  until (zHilf^.zVor=nil)
end;


kann man hier nicht editieren oder bin ich blind ?

also im moment rundet er halt z.B. 123 auf 100, 53 auf 50, aber 55 auch auf 50, da er den übertrag dann ja noch nich dazu addiert hat, denke ich mal


Moderiert von user profile iconjasocul: Beiträge zusammengefasst
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6394
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Do 15.11.07 18:06 
user profile iconFabi.saar hat folgendes geschrieben:
kann man hier nicht editieren oder bin ich blind ?
Doch, geht. Schau mal über Deinem Beitrag nach. Da gibt es ein Symbol mit Schere. Damit kannst Du editieren. :wink:
Fabi.saar Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Do 15.11.07 18:31 
lol da hab ich eben sogar noch nachm tooltip geschaut, aber irgendwie net richtig gelesen, danke ^^

edit: ok ich habs ;)