[C++] Własna klasa arytmetyczna
Ostatnio zmodyfikowano 2013-10-15 07:23
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 |
|
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 ;) |
|
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/ |
|
Elaine |
» 2013-10-14 23:33:55 Mam przeczucie, że w tym zadaniu nie chodzi o użycie gotowca. |
|
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. |
|
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) |
|
« 1 » |