[C++]Dzielenie dużych liczb

0

Witam, mam problem z własną arytmetyką dużych liczb. Z działań zostało mi jeszcze dzielenie i nie bardzo wiem jak można to zrealizować. Liczby są zapisywane w tablicy char, po jednej cyfrze na komórkę tablicy. Proszę o rady i z góry dziękuję za pomoc.

0

Uczyli cię dzielić pisemnie w szkole? Raczej tak, no to teraz "wytłumacz" ten proces komputerowi.
(użyj opcji szukaj, było milion razy na forum, poza tym).

0

Uczyli, ale po prostu nie umiem tego wytłumaczyć komputerowi, dlatego tutaj napisałem...

0

O_O no to wytłumacz nam to tutaj, na forum. Tak jakbyś miał to opowiedzieć koledze.

0

14
462 : 31
31

152
124

28

14 r 28

0

No teraz opisz to słowami.

0

14
462 : 31
31

152
124

28

14 r 28

Zapisujemy działanie w powyższej formie. Bierzemy cyfrę setek dzielnej, sprawdzamy czy jest większa od dzielnika, nie jest więc bierzemy pod uwagę jeszcze cyfrę dziesiątek, jeżeli tak powstała liczba jest większa od dzielnika, dzielimy ją całkowicie, wynik wpisujemy na górze i odejmując wyznaczamy resztę z dzielenia. Dopisujemy do niej cyfrę jedności dzielnej i wykonujemy dzielenie tak jak wcześniej, itd.

0

No i masz gotowy algorytm :D Teraz wystarczy te słowa przelać na kod ;) Krok po kroku i będziesz miał gotową funkcję.

0

No tak, tylko że ja mam każdą cyfrę w osobnej komórce tablicy char. Nie za bardzo wiem jak mam sprawdzać te warunki, ogólnie nie kapuję jak to zrobić, sorx że dobijam was swoją głupotą.

0

Wystarczy chwilę pomyśleć. Spróbuj coś napisać i mów po prostu z czym masz problemy dokładnie. Dzięki temu nauczysz się dużo więcej, niż jak ktoś da Ci gotowe rozwiązanie.

0

Jeżeli sprawdziłem już czy dana cyfra jest większa/mniejsza od dzielnika, dodałem następną cyfrę do analizy, to i tak muszę wykonać dzielenie, rekurencja?

0

Mam pytanie, jeżeli w klasie bazowej mam przeciążony operator przypisania, to czy mogę go używać dla obiektów klasy pochodnej? Dziedziczenie public.

0

Co do tej rekurencji, to nie koniecznie. Możesz to zrobić zwykłą pętlą, tylko musisz przed pętlą zrobić sobie zmienną, w której będziesz trzymał sprawdzone już liczby, a kolejne dodawał.

0

Mam problem z odejmowaniem obiektów klasy pochodnej. W klasie bazowej mam zdefiniowany operator odejmowania, wszystko działa poprawnie, ale dla obiektów klasy pochodnej wyniki wychodzą błędne. Np. gdy robię tak:

wynik=liczba-liczba2

gdzie wszystkie powyższe zmienne to obiekty mojej klasy pochodnej.
Operator przypisania powtórnie zdefiniowałem w klasie pochodnej w ten sposób:

 	sub_integer&  operator=(const integer &l){
		if (this==&l) return *this;		
		(integer::operator=(l));	
		return *this;		
		}

integer to klasa bazowa, a sub_integer - pochodna. Jeżeli stosuje te operatory osobno, wszystko działa ok.

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