C++ Sprowadzanie do wspólnego mianownika

Odpowiedz Nowy wątek
2010-12-14 21:26

Rejestracja: 9 lat temu

Ostatnio: 9 lat temu

0

Witam dostałem na zadanie program obliczający ułamki. Struktura składa się z pary liczb całkowitych typu int. I taki problem niby banalny ale nie dla mnie niestety, pogubiłem się. Ostatnio bardzo pomogliście mi z przykładem. Zadanie muszeę zrobić tak jak podałem w przykładzie. A więc:

fraction suma(fraction x, fraction y) {
fraction z;
z.licz = // <-- co zrobić aby para sprowadzała się do wspólnego mianownika
z.mian =
return z;
}

Z góry dzięki za pomoc

edytowany 5x, ostatnio: stefan15, 2010-12-14 21:46

Pozostało 580 znaków

2010-12-14 21:38
Moderator

Rejestracja: 16 lat temu

Ostatnio: 56 minut temu

0

z.mian = x.mian + y.mian;
?
Coś ty miał z matematyki w podstawówce?!
Najprostsza metoda to zwyczajnie mnożyć mianowniki przez siebie (a liczniki na krzyż przez mianowniki).
Jak chcesz metodę trudniejszą to wykorzystaj NWW.


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2010-12-14 21:43

Rejestracja: 9 lat temu

Ostatnio: 9 lat temu

0

Ten przykład jest skopiowany z programu o liczbach zespolonych przy czym nie zmieniałem zmiennych. Ale jeśli Ci to przeszkadza to skasuje i zostawie puste pole ;) Zmieniłem tylko x.re na x.licz itd. Troszkę grypa mnie dopadła więc 0 myślenia w tym stanie a musze to oddać do jutra.

edytowany 2x, ostatnio: stefan15, 2010-12-14 22:07

Pozostało 580 znaków

2010-12-14 21:55

Rejestracja: 13 lat temu

Ostatnio: 7 godzin temu

0
struct ulamek
{
    i32 licznik ;
    u32 mianownik ;
};

(...)

bool SprowadzDoWspMian(ulamek *ul)
{
    if(!ul)
        return 0; //blad - null
    u32 nwd = NWD(abs(ul->licznik), abs(ul->mianownik)) ; //NWD sam sobie napisz, albo znajdź w necie
    ul->licznik/=nwd;
    ul->mianownik/=nwd;
    return 1 ;
}

o ile dobrze pamiętam, to 2-3 klasa podstawówki ;)

edytowany 3x, ostatnio: rafal__, 2010-12-14 21:57

Pozostało 580 znaków

2010-12-14 21:59

Rejestracja: 9 lat temu

Ostatnio: 9 lat temu

0

No tak dzięki tego typu przykładów jest pełno na necie ale niestety nie mogę tego zastosować w taki sposób. Jedynie tak jak napisałem. Matematyka matematyka ale programowanie to nie w podstawówce zdaje mi się ;) Rozwiązać na kartce a zrobić odpowiednie funkcje które to obliczaja to troche trudniej. Pierwszy cieżki miesiąc z C++ :/

// dobra już zrobiłem dzięki za pomoc

edytowany 2x, ostatnio: stefan15, 2010-12-14 22:07
Wiesz cieżki może nie ale trzeba przysiaść na spokojnie mam mniej wiecej 39 temperatury (trudno sie skupic)i jeszcze dowiedziałem się o tym zadaniu na jutro. A nie ważne czy pojde do szkoly i tak musiałem przesłać. No ale udało się dzięki jak zawsze forumowiczom międzi innymi. Usiadź, pomyśl, działaj pozdrawiam - stefan15 2010-12-14 22:29

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0