Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Bruchrechnung und das kürzen... (https://www.delphipraxis.net/86319-bruchrechnung-und-das-kuerzen.html)

TonyR 14. Feb 2007 19:01

Re: Bruchrechnung und das kürzen...
 
du hast doch deine Edits schon so angeordnet, dass die Ausgabe kein Problem mehr darstellt (ich erinnere an den Screenshot).

Willst du jetzt noch wissen, wie du die Ganzzahl rausbekommst und den Rest als Bruch darstellst, oder was? Das solltest du aber eigentlich auch mit Mathematik-Kenntnissen der (was weis ich... auf jeden Fall einer Klasse die vor der 11. kommt) selber hinkriegen :wink:

Anigmos 14. Feb 2007 19:34

Re: Bruchrechnung und das kürzen...
 
Das Problem ist, ich kann es, kann es aber nicht schreiben :gruebel: ...

Cöster 14. Feb 2007 19:36

Re: Bruchrechnung und das kürzen...
 
Und wo konkret ist jetzt dein Problem?

Anigmos 14. Feb 2007 19:39

Re: Bruchrechnung und das kürzen...
 
Wie kann ich nun die ganzzahl und den bruch ausgeben??
Ich hasse es mathe zu programmieren ich programmier alles lieber modifikationen für spiele eigene addons die mir das verwalten erleichtern ALLES nur kein mathe :wall:

Cöster 14. Feb 2007 19:45

Re: Bruchrechnung und das kürzen...
 
Zitat:

Zitat von Anigmos
Delphi-Quellcode:
GanzzahlEdit.text:=inttostr(ganerg);
ErgebnisZaehlerEdit.text:=inttostr(zerg);
ErgebnisNennerEdit.text:=inttostr(nennerg);

Hast du selbst geschrieben. Das müsste doch gehen, oder versteh ich deine Frage falsch?

Anigmos 14. Feb 2007 19:50

Re: Bruchrechnung und das kürzen...
 
Er macht irgendwas falsch... es kommt bei 13/2 * 13/2 0 ganze und 52/1 raus das stimmt nicht so ganz^^"

Cöster 14. Feb 2007 20:02

Re: Bruchrechnung und das kürzen...
 
Zitat:

Zitat von Anigmos
Er macht irgendwas falsch... es kommt bei 13/2 * 13/2 0 ganze und 52/1 raus das stimmt nicht so ganz^^"

Dann liegt das aber nicht an der Ausgabe, sondern an den Rechnungen davor. Den Fehler findest du am besten, wenn du Haltepunkte ins Programm einbaust und dann debuggst. So lässt sich die Stelle schneller finden, an der einer Variable ein falscher Wert zugewiesen wird.

TonyR 14. Feb 2007 23:23

Re: Bruchrechnung und das kürzen...
 
Also Anigmos:
Ich hatte es ja schonmal geschrieben!
Mit dieser Formel bekommst du Zähler und Nenner des gekürzten Bruches!
Delphi-Quellcode:
procedure kurzen(Ausgangsbruch, Ergebnisbruch: Tbruch);
begin

Ergebnisbruch.zahler:=Ausgangsbruch.zahler div ggt(Ausgangsbruch.zahler,Ausgangsbruch.nenner);

Ergebnisbruch.nenner:=Ausgangsbruch.nenner div ggt(Ausgangsbruch.zahler,Ausgangsbruch.nenner);

end;
Um das jetzt noch so aufzusplitten, dass man eine Ganzzahl erhält, fällt mir auf die schnelle nur das hier ein:
Delphi-Quellcode:
var GDE{GanzzahlDesErgebnisbruchs}, RDE: word;

DivMod(ErgebnisBruch.zahler, Ergebnisbruch.Nenner, GDE, RDE);
Ergebnisbruch.zahler:=RDE;

GanzZahlEdit.text:=IntToStr(GDE);
ZahlerEdit.text:=IntToStr(Ergebnisbruch.zahler);
NennerEdit.text:=IntToStr(Ergebnisbruch.Nenner);
So und sag jetzt nicht, dass du es nicht kapierst!!!! :evil:
Es ist denk ich mal einleuchtend! Das einzige, was du ändern musst (weil du sagtest ja mal ihr dürft nur StiNo-Variablen benutzen), ist, deine unzähligen Variablen zu benutzen (anstatt Ergebnisbruch.zahler und so)!!!!!!
Aber wie schon gesagt, dürfte es dir nun ein Leichtes sein, das was ich geschrieben habe, auf deine Sache zu übertragen.


Zitat:

...ich programmier alles lieber modifikationen für spiele eigene addons ...
*kopfschüttel*...*kopfschüttel* mach lieber was sinnvolles :wink:


Edit: Um dir die richtige ggt-Funktion nochmal zu zeigen kopiere dir die von Beitrag #18 von mir!!!!!

Dipl Phys Ernst Winter 10. Mai 2009 15:58

Re: Bruchrechnung und das kürzen...
 
TonyR"
Delphi-Quellcode:
Function Kuerzen(zaehler,nenner:integer):Tbruch;
Warum übergibst Du den zu kürzenden Bruch zerpflückt in Zähler und Nenner?
(delphi]Ergebnisbruch.zahler:=Round(Ausgangsbruch.zahler div ggt(Ausgangsbruch.zahler,Ausgangsbruch.nenner));
[/delphi]
Was soll das Round? Das Ergebnis von div ist schon ein Integer!
Frage: Wird der ungekürzte Bruch wirklich noch gebraucht? Sonst
Delphi-Quellcode:
procedure Kuerzen(var Bruch: TBruch);
Dipl Phys Ernst Winter

Dipl Phys Ernst Winter 12. Mai 2009 14:25

Re: Bruchrechnung und das kürzen...
 
Liste der Anhänge anzeigen (Anzahl: 1)
Gegenüber dem Rechnen mit Gleitkommazahlen ist das Rechnen mit Brüchen frei von Rundungsfehlern.
Diese treten erst auf, wenn wir den Bruch in eine Gleitkommazahl konvertieren.

Ich habe für euch eine Unit und ein Demo zur Bruchrechnung geschrieben


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr.
Seite 3 von 3     123   

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