Dzielenie liczb zespolonych

Dzielenie liczb zespolonych
JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 178
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.

Kopiuj
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?

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0

tu: -tab[2].im ?

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 178
0

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

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
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.

JA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 178
0

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

_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.