Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Własna klasa arytmetyczna

Ostatnio zmodyfikowano 2013-10-15 07:23
Autor Wiadomość
Tetriando
Temat założony przez niniejszego użytkownika
[C++] Własna klasa arytmetyczna
» 2013-10-14 18:17:59
Witam serdecznie!

Mam do zrobienia 3 zadania:

http://i.imgur.com/K7ctlGh.png

Jednak jeśli już będę wiedział co i jak z pierwszym to resztę sam zrobię. Mianowicie, nie mam pojęcia jak to zrealizować. Myślę o zrobieniu char* (nie umiem wskaźników) jest też możliwość zrobienia vectora w jakiś sposób. W obu przypadkach musiałbym jakoś sprytnie policzyć wszystko pisemnie i zwrócić stringa z wynikiem.

Prosiłbym o jakiekolwiek wskazówki.

Pozdrawiam, Tetriando
P-93688
akwes
» 2013-10-14 18:22:21
Oblicz sobie pisemnie kilka przykładów na odejmowanie oraz dodawanie. Przypatrz się im bardzo mocno i zobaczysz, że jest to bardzo łatwe w realizacji komputerowej za pomocą std::vector czy tablic (ostatecznie std::string).

Skoro precyzja ma być dowolna to albo std::vector, albo dynamiczna alokacja tablicy (wtedy nie unikniesz wskaźników). Polecam std::vector.

Hint: Jeżeli masz problemy z zobaczeniem rozwiązania to spróbuj wszystkie cyferki w przykładzie dodawania pisemnego napisanego na kartce wziąć w krateczki ;)
P-93689
DejaVu
» 2013-10-14 21:35:10
Jest jakaś biblioteka do wykonywania obliczeń na dużych liczbach ale nie pamiętam jej nazwy...

/edit:
http://gmplib.org/

Frazy, które należy wpisać w wyszukiwarkę google:
P-93718
Elaine
» 2013-10-14 23:33:55
Mam przeczucie, że w tym zadaniu nie chodzi o użycie gotowca.
P-93725
b00rt00s
» 2013-10-15 02:41:03
Nie wiem, czy std::vector (zaproponowany powyżej) to dobry pomysł ze względu na wydajność. Tutaj może dochodzić do częstego dodawania/odejmowania elementów tablicy, co (o ile się nie mylę) w przypadku wektora będzie się wiązało z częstą alokacją pamięci i przepisywaniem wszystkich elementów. Może lepiej wykorzystać w tym celu std::list? Szczególnie, że swobodny dostęp do elementów kontenera nie będzie chyba konieczny.
P-93726
Mrovqa
» 2013-10-15 07:23:02
@b00rt00s
Lepiej użyć std::vector i wykorzystać system np. miliardowy zamiast dziesiętnego. Jeżeli boisz się o częstą alokację (co raczej nie nastąpi przy takiej podstawie systemu liczbowego) to wywołaj metodę reserve. Przykładowa implementacja (na wskaźnikach): http://users.v-lo.krakow.pl​/~climek/ebooki/stanczyk.pdf (rozdz. 5.9)
P-93727
« 1 »
  Strona 1 z 1