C++- ułamek niewłaściwy, praca domowa na jutro
Ostatnio zmodyfikowano 2020-12-17 00:02
AndrzejOrnitolog Temat założony przez niniejszego użytkownika |
C++- ułamek niewłaściwy, praca domowa na jutro » 2020-12-16 21:05:07 Witam, Posiadam program, który teoretycznie dodaje 3 ułamki. Sprawa jest taka, że jak jest ułamek niewłaściwy, to musi wyciągać liczby całe. Potrzebuje to na dzisiaj lub jutro rano, jest to dosyć pilna sprawa, proszę pomóżcie mi :) To jest to, co na razie mam.. #include<iostream> using namespace std;
int NWD( int a, int b, int c ) { int i; while( b != 0 ) { i = b; b = a % b; a = i; c = b % c; c = i; } return a; }
int NWW( int a, int b, int c )
{ return a / NWD( a, b, c ) * b; }
int main() { int l1, l2, l3, m1, m2, m3, c1, c2, c3, licznik, mianownik, d; cout << "Podaj cala liczbe przed pierwszym ulamkiem ( jezeli nie ma wpisz 0) "; cin >> c1; cout << "Podaj licznik pierwszego ulamka: "; cin >> l1; cout << "Podaj mianownik pierwszego ulamka: "; cin >> m1; cout << "Podaj cala liczbe przed drugim ulamkiem (jezeli nie ma wpisz 0): "; cin >> c2; cout << "Podaj licznik drugiego ulamka: "; cin >> l2; cout << "Podaj mianownik drugiego ulamka: "; cin >> m2; cout << "Podaj cala liczbe przed trzecim ulamkiem (jezeli nie ma wpisz 0)"; cin >> c3; cout << "Podaj licznik trzeciego ulamka: "; cin >> l3; cout << "Podaj mianownik trzeciego ulamka: "; cin >> m3; mianownik = NWW( m1, m2, m3 ); licznik =( mianownik / m1 ) * l1 +( mianownik / m2 ) * l2 +( mianownik / m3 ) * l3; d = c1 + c2 + c3; cout << c1 << l1 << "/" << m1 << " + " << c2 << l2 << "/" << m2 << " + " << c3 << l3 << "/" << m3 << " = " << d << licznik << "/" << mianownik; return 0; } . |
|
nanoant20 |
» 2020-12-17 00:02:42 //edit dodałem literkę "i" pomiedzy całością a ułamkiem dla przejrzystości dobrze by było zabezpieczyć przed podawaniem 0 w mianowniku d = c1 + c2 + c3; cout << c1 << " i " << l1 << "/" << m1 << " + " << c2 << " i " << l2 << "/" << m2 << " + " << c3 << " i " << l3 << "/" << m3 << " = " << d << " i " << licznik << "/" << mianownik; cout << " = "; if( licznik > mianownik ) { cout << d + licznik / mianownik; if(( licznik % mianownik ) != 0 ) { cout << " i " << licznik % mianownik << "/" << mianownik << endl; } else cout << endl; }
|
|
« 1 » |