Witam wynajmę kogoś kto zrobi mi bibliotekę w c++. Chodzi o big int. Chciałbym żeby ktoś napisał bibliotekę za pomocą której bez żadnych problemów zadeklaruje sobie w c++ Big_int liczbę o nieskończonej długości którą ograniczy ram :D(zaczerpując z jakiejś szybkiej biblioteki która przelicza jak najszybciej). chciałbym żeby można było dodawać odejmować z innymi typami czyli generalnie arytmetyka (=,-,*,/,%) i konwersją typów plus skróty np x+=y; i np x++;. Dalej żeby Big_int działało tak samo jak zwykły int w kwestii logiki <,>,==,!=,!.Dalej żeby normalnie można było przydzielić pamięć dynamicznie new... i potem delete... żeby ta pamięć się zwalniała z ramu. Co jeszcze... żeby można zrobić tabelkę z tej zmiennej znowu tak jak ze zwykłą zmienną. I żeby działało plik txt >>Big_int i plik txt<<Big_int. jak będę wstawiał Big_int do pętli żeby pamięć dziwnie nie puchła. poza tym z dodatkowych spraw chyba funkcja żebym potem nie żałował ;) sqrt(x); pierwiastek kwadratowy całkowity domyślnie a z parametrem może być dowolnego stopnia. wszystko to na linuksa korzystam z Ubuntu z terminala... g++. żebym do kompilacji nie musiał wypisywać nie wiadomo czego tylko g++ plik.txt a w inkcludach jeden żeby był góra dwa :D
w C++ wszystko się da jak się ktoś zna. Ile to by kosztowało?
A dlaczego nie możesz użyć gotowej?
można ale jak? zawsze coś niedziała
o to zapłacę jak ktoś mnie nauczy :D wyjdzie taniej i szybciej
Zawsze? Ja jednak obstawiałbym, że GNU MP będzie działać. Biblioteka napisana w C, ale jestem przekonany, że kilka wrapperów C++ się znajdzie.
ja używam c++ do matematycznych obliczeń wiem co nie co o podstawach c++ więc nie ogarne tego sam
Ile płacisz janusz?
Użyj Boost.Multiprecision i nie będziesz musiał nawet bawić w pisanie wrapperów.
https://wandbox.org/permlink/xE8cBDBDLFF3xKkX
słyszałem o bibliotece Boost chciałem książkę kupić ale za skomplikowana dla mnie da się to przerobić żeby normalnie się deklarowało jak zwykłą zmienną?
A co jest niezwykłego w poniższym? Nic takiego nie widzę, więc musisz mi wytłumaczyć.
bm::cpp_int factorial(int n, bm::cpp_int total = 1)
{
return n <= 1 ? total : factorial(n - 1, total * n);
}
jakaś funkcja która co zwraca?
Mam wrażenie że nie chce ci się odpalić googla żeby sprawdzić nawet najtrywialniejszych problemów. Factorial to silnia, ale to nie ma znaczenia, bo to tylko przykład. cpp_int
to typ z Boost.Multiprecision, implementujący big integery.
mam książkę szkoła programowania język C++ Stephen Prata wydanie V. I umiem wszystko szczegółowo od początku do rozdziału chyba 9 co są przestrzenie nazw i to mi starcza do takich swoich programów... nie programowałem nie wiadomo jak ani też C nie znam
Świetnie. Prosiłeś o bibliotekę w C++, dostałeś bibliotekę w C++, zapewniającą przeładowania operatorów itd. W czym jest problem?
nie wiem jak z niej korzystać i dodać do swojego programu żeby mógł łatwo deklarować takie duże zmienne
To poczytaj trochę na ten temat. Z każdą napisaną przez kogoś biblioteką będziesz musiał jakoś sobie poradzić.
chciałbym mieć tak żeby do moich programów dodać includ ... zamienić long int na big_int i zwiększyć pętle z 1000 przejść na np 1000000000 i żeby liczby były wielkie
Ktoś już zaproponował Pythona, ale tylko w komentarzu, więc pytający mógł to przeoczyć... I uważam, że Python rozwiąże Twoje wszystkie problemy... No może nie wszystkie, ale te z big intem owszem :D
Zobacz:
https://ideone.com/WoO3Cr
Adam Szczepański napisał(a):
chciałbym mieć tak żeby do moich programów dodać includ ... zamienić long int na big_int i zwiększyć pętle z 1000 przejść na np 1000000000 i żeby liczby były wielkie
Zadałeś sobie trud przeczytać to co napisałem? Przecież dokładne to dostałeś...
że z czym co napisałeś może strona mi się nie odświeżyła...
naprawde Boost jest takie proste no muszę poczytać
no już wiem kolega mi jeden podpowiedział no to tak jakby ktoś chciał wiedzieć...
sudo apt-get update
sudo apt-get install libgmpxxv4-4
i
#include<gmpxx.h>
#include<gmp.h>
kompilacja
g++ -Wall -std=c++11 plik.cpp -lgmpxx -lgmp
deklaracja
mpz_class a;
a="54234523452345234524352345243";
i wsztstko
na razie testuje
kolega zarobił 100zł :P
Dostałeś tu rozwiązanie za darmo i zapłaciłeś za mniej wygodne? Zaczynam uważać, że to co niektórzy piszą o piekarzach ma sens.
po prostu odezwał się kolega który to dla mnie ogarniał i powiedział działa to tak i tak a tego bost nie zdążyłem ogarnąć tego cpp_int z Boost.Multiprecision
Ja nie ogarniam tego co piszesz... Dobrze, że znaleźliście wspólny język...
czego nie ogarniasz? umiem C++ do podstaw szczegółowo nie znam się na zaawansowanym programowaniu nie jest mi też potrzebne do ciągów czy takiej tam matematyki mojej. :p
kolega powiedział mi co doinstalować jaki includ dodać jak deklarować i jak kompilować. działa nie ma listy błędów które trzeba ogarniać
przepraszam mam dyslekcje dobrze że edytor podkreśla ortografię "... umiem C++ do podstaw szczegółowo, nie znam się na zaawansowanym programowaniu, nie jest mi też potrzebne do ciągów czy takiej tam matematyki mojej ..." tak lepiej :D
no to teraz jakby ktoś chciał się podzielić wiedzą i używa tego boosta to jak to zainstalować, kompilować, deklarować i co dodać w includach mogę też z chęcią potestować
Pełna instrukcja: http://www.boost.org/doc/libs/1_66_0/
Polecam GMP lub jeśli traktujesz to poważnie to MIRACL.
ja się tak zastanawiam jak ty się jakąś matmą zajmujesz to czemu nie używasz narzedzi dla tego? Mathematica, matlab, mathcad czy co tam innego jest(z darmowych scilab, octave czy maxima). Z języków to przecież python.
Ma dysleksję, to i tak cud, że w C++ coś robi... chociaż z trudniejszymi rzeczami jak widać, potrzebuje pomocy...