PDA

Vollständige Version anzeigen : Bruch kürzen


berger1
07.02.2008, 19:39
Hi,

also mein Problem ist, das ich keine Ahnung habe wie ich programmieren soll das ein Bruch gekürzt wird !

Also hier ist erst mal mein Programm:

#include <iostream>

using namespace std;

int main ()
{

//Variablendeklaration

int zaehler1;
int nenner1;
int zaehler2;
int nenner2;
int ergebnis_zaehler1;
int ergebnis_zaehler2;
int ergebnis_zaehler;
int nenner;
char coperator;



//Eingabe

cout<<"Geben Sie den ersten Zaehler ein:";
cin>>zaehler1;
cout<<"Geben Sie den ersten Nenner ein:";
cin>>nenner1;
cout<<endl;
cout<<"Geben Sie den zweiten Zaehler ein:";
cin>>zaehler2;
cout<<"Geben Sie den zweiten Nenner ein:";
cin>>nenner2;
cout<<"Geben Sie den Operator +,-,*,/ ein:";
cin>>coperator;



//Ausgabe

switch (coperator)
{
case '+':
nenner=nenner1*nenner2;
ergebnis_zaehler1=zaehler1*nenner2;
ergebnis_zaehler2=nenner1*zaehler2;
ergebnis_zaehler=ergebnis_zaehler1+ergebnis_zaehler2;
break;
case '-':
nenner=nenner1*nenner2;
ergebnis_zaehler1=zaehler1*nenner2;
ergebnis_zaehler2=nenner1*zaehler2;
ergebnis_zaehler=ergebnis_zaehler1-ergebnis_zaehler2;
break;
case '*':
nenner=nenner1*nenner2;
ergebnis_zaehler=zaehler1*zaehler2;
break;
case '/':
nenner=nenner1*zaehler2;
ergebnis_zaehler=zaehler1*nenner2;
break;
}


//Ausgabe
cout<<ergebnis_zaehler<<endl;
cout<<"----";
cout<<nennerl;

system ("PAUSE");
return 0;
}

Das Programm berechnet die zwei eingegebenen Brüche mit dem gewünschten Operator(+,-,*,/) zusammen. Das ist ja alles noch einfach, aber das schwierige ist das Ergebnis also den Bruch noch mal zu kürzen. Ich habe irgendwas von der Euklid Formel gehört, aber leider blicke ich da nciht durch :entsetzt:

Ich würde mich freuen, wenn jemand eine Idee hat wie man das schafft das man ein Bruch kürzen kann!:)

Programm: Microsoft Visual Studio 2005 C++

MfG

Berger

berger1
07.02.2008, 19:45
Ich sehe gerade das ich manche Ausgaben(cout) hier nciht schreiben kann bzw. werden nciht angezeigt ?!:rolleyes:

berger1
09.02.2008, 14:49
Hat keiner eine Idee wie man den größten gemeinsamen Teiler von zwei zahlen herausbekommt?

FW
26.04.2008, 18:01
... Größter Gemeinsamer Teiler:function int Ggt(int z1, int z2)
{
int rest;

if(z1 == 0 || z2 == 0) return 0;

z1 = Math.Abs(z1);
z2 = Math.Abs(z2);
do
{
rest = z1 % z2;
z1 = z2;
z2 = rest;
} while (rest > 0);
return z1;
}...

Darky256
19.06.2008, 17:30
Hi bei mir kommt ein kleiner Fehler bei der funktion:


C:\back\dev-cpp\test\ein-ausgabe.cpp In function `int Ggt(int, int)':
235 C:\back\dev-cpp\test\ein-ausgabe.cpp `math' undeclared (first use this function)
(Each undeclared identifier is reported only once for each function it appears in.)
C:\back\dev-cpp\test\Makefile.win [Build Error] [ein-ausgabe.o] Error 1

FW
26.06.2008, 15:41
... ich vermute mal, dass die math.lib nicht eingebunden ist?