Dzielenie liczb zespolonych

0

Witam !
Tworze kalkulator liczb zespolonych i mam problem z zapisem dzielenia. Stworzyłem taka funkcje lecz w jej wyniku wychodza jakieś dziwne liczby po przecinku.

zesp dziel(zesp *tab)                        //dzielenie
{
    zesp wynik;
    
    wynik.re = ( (tab[0].re * tab[1].re) + (tab[0].im * (-tab[2].im)) ) / ( (tab[1].re*tab[1].re) + (tab[1].im*tab[1].im) );
    wynik.im = ( (tab[0].re * (-tab[1].im)) + (tab[0].im * tab[1].re) ) / ( (tab[1].re*tab[1].re) + (tab[1].im*tab[1].im) );

    return wynik;
}

Gdzie zrobiłem błąd?

0

tu: -tab[2].im ?

0

to był błąd w przepisywaniu, ale jeszcze gdzieś mam źle.

0

Dlaczego nie użyjesz po prostu std::complex? Strasznie dziwny (nieczytelny) sposób przyjmowania 2 argumentów.

Za wikipedią
user image

Poza (-tab[2].im) w miejscu tab[1].im nie widzę nic źle.

0

bo musimy na zajęcia zrobić to ręcznie, nie mogę używać gotowych funkcji. Już błąd znaleziony dzięki za pomoc.

1

Powinieneś przynajmniej podzielić się z innymi przyczyną tego błędu który znajdował się poza przedstawionym kodem.

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