![]() |
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: |
Re: Bruchrechnung und das kürzen...
Das Problem ist, ich kann es, kann es aber nicht schreiben :gruebel: ...
|
Re: Bruchrechnung und das kürzen...
Und wo konkret ist jetzt dein Problem?
|
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: |
Re: Bruchrechnung und das kürzen...
Zitat:
|
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^^"
|
Re: Bruchrechnung und das kürzen...
Zitat:
|
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:
Um das jetzt noch so aufzusplitten, dass man eine Ganzzahl erhält, fällt mir auf die schnelle nur das hier ein:
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;
Delphi-Quellcode:
So und sag jetzt nicht, dass du es nicht kapierst!!!! :evil:
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); 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:
Edit: Um dir die richtige ggt-Funktion nochmal zu zeigen kopiere dir die von Beitrag #18 von mir!!!!! |
Re: Bruchrechnung und das kürzen...
TonyR"
Delphi-Quellcode:
Warum übergibst Du den zu kürzenden Bruch zerpflückt in Zähler und Nenner?
Function Kuerzen(zaehler,nenner:integer):Tbruch;
(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:
Dipl Phys Ernst Winter
procedure Kuerzen(var Bruch: TBruch);
|
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 19:51 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