Autor Beitrag
jackie05
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 357



BeitragVerfasst: So 16.10.05 03:39 
hi, wisst ihr wie ich in mein Programm ein Bruch rechenart proggen kann.
also ich möchte z.B. das 21/7 : 49/7 in Delphi rechnen.

ich habe 4 labels benutzt, der eine, für die Zahl 21, die zweite für die Zahl 7, die dritte für die zahl 3, und die vierte für die Zahl4, hier mal ein bild, wie das bei mir aussieht:

www.1200kb.net/uploadimg/file790466005.bmp

ich möchte das aber so machen das man die brüche auch so weit wie es geht kürzen muss, nur weiss ich leider nicht wie das geht, könnt ihr mir vieleicht vorschläge geben, wie man das machen könnte, ich danke euch schonmal :)

Christian


Moderiert von user profile iconraziel: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mo 17.10.2005 um 11:01
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: So 16.10.05 10:40 
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
procedure BruchRechnen (Za,Na,Zb,Nb: Integer; ROp: Char; var ZErg,NErg: Integer);
var
  Hn: Integer;
  A,B,R: Integer;
begin
  NErg := Na*Nb;
  case rOP of
    '+': ZErg := Za*Nb+Zb*Na;
    '-': ZErg := Za*Nb-Zb*Na;
    '*': ZErg := Za*Zb;
    ':',
    '/'begin
           ZErg := Za*Nb;
           NErg := Zb*Na;
         end;
  end;
  //Kürzen 
  if ZErg>NErg then
    begin
      A := ZErg;
      B := NErg;
    end
  else
    begin
      A := NErg;
      B := ZErg;
    end;
  if (B<=0OR (A<0then B := 0
  else
    begin
      R := A MOD B;
      while R>0 do
      begin
        A := B;
        B := R;
        R := A MOD B;
      end;
    end;
  if B<>0 then
    begin
      NErg := NErg div B;
      ZErg := ZErg div B;
    end;
end;

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6393
Erhaltene Danke: 147

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: So 16.10.05 12:45 
user profile iconjackie05 hat folgendes geschrieben:
ich möchte das aber so machen das man die brüche auch so weit wie es geht kürzen muss, nur weiss ich leider nicht wie das geht

Dafür musst du den ggT berechnen. Guckst du hier