Master Kiełbaster 296 Posted August 9, 2006 To coś z logarytmem :P miałem kiedyś ten algorytm ale się zgubił... poszukaj w googlu. nie miałem pomysłu na napisanie innego programu Napisz rendera :P Share this post Link to post Share on other sites
patry 139 Posted August 9, 2006 Napisz rendera :P Taaa, skopiuje cały kod mental raya, trochę się pobawię (przyspieszę liczenie FG :)) i powiem, że to ja napisałem cały kod :P Share this post Link to post Share on other sites
gonre 37 Posted August 9, 2006 A = count ( forum."Program languages".post.last_30days ) B = count ( forum."Program languages".post._this ) // istnieje niecałą dobe ;] IMHO A - B PARTY:jak chcesz się uczyć i stworzyć prosty pożyteczny program, to mogę Ci zasugerowac to czego mi brakuje w programach do postproducji: "programowalne tryby nakładania warstw" (szczegóły na http://www.moja.glowa.pelna.pomyslow.ok) Najprawdopodobniej rewolucyjnej nowości już się nie odkryje, bo można kombinowac i mieszac tryby które sa dostępne, ale tryb Pin Light w Photoshopie pojawił sie dopiero w wersi 7 (chyba) . Być może są jeszcze nieznane efekty do odkrycia :) Share this post Link to post Share on other sites
vv3k70r 54 Posted August 9, 2006 polecam algorytm Karaczuby, jest bardzo wydajny do liczenia poteg..... i swietnie sie sprawdza przy wywolaniach nierekurencyjnych... jest bardzo elegancki, choc prawdziwa moc wydajnosci z przewaga nad tradycyjnym sqrt uzyskuje dopiero powyej 3kbitowej liczby :) moze ktos na normalna matme rozpisac w jaki sposob konkretnie chcecie to liczyc? sie pomysli i cos wymysli :) w sumie gonre ma racje...... do poprawiania wydajnosci i psiania funkcji liczenia (i sprawdzeniaich porpawnosci) to trzeba miec sporo doswiadczenia, zeby wiedziec gdzie ktora metoda sie potyka... lepiej bierzcie sie za cos gdzie bledy sa dopuszczalne, a sprawdzanie nei wymagane bo mzona to zrobic na oko :) Share this post Link to post Share on other sites
piotrek 293 Posted August 9, 2006 Ale się na niego uwzięliście. Chłopak chce się nauczyć, a wy odrazu mu renderer proponujecie (w sumie nienajgorszy pomysł :D) albo jakieś programowalne coś. Wy na pewno od "Hello World" nie zaczynaliście. Pewnie na początek w celu zaznajomienia się z językiem programowania, zajmowaliście się AI :p Share this post Link to post Share on other sites
patry 139 Posted August 9, 2006 Ehh... ale się rozpisaliście. Mi tylko chodzi o to, żeby zmodyfikować ten kod: #include using namespace std; double potega (double podstawa, int wykladnik) { double pomoc = podstawa; for (int i = 1; i { podstawa = podstawa * pomoc; } return podstawa; } int main() { double podstawa, wynik; int wykladnik; cout cin >> podstawa; cout cin >> wykladnik; wynik = potega (podstawa, wykladnik); cout } W taki sposób, żeby wykładnik był liczbą zmiennoprzecinkkową (ale nie niewymierną) i program poprawnie obliczył tą potęgę. Więc da się to zrobić?? :D Share this post Link to post Share on other sites
vv3k70r 54 Posted August 9, 2006 da sie :) tylko ze olej w niej zmiennoprzecinkowosc ustal sztywno zakres nad i pod przecinkiem.... i po prostu go calego nie wykorzystuj (zera niewazace won).... inaczej musialbys dopisac dynamiczny przydzial pamieci.. ktory zmienialby sie na biezaco :) Share this post Link to post Share on other sites
patry 139 Posted August 9, 2006 No dobra, więc chcę, żęby liczyło mi maxymalnie do 6 miejsc po przecinku. I jak się do tego zabrać?? Share this post Link to post Share on other sites
browar102 10 Posted November 3, 2006 Oto jak wyglądałby kod źródłowy programu napisanego w C++ do obliczania pierwiastków dowolnego stopnia. Gdzies na necie znalazlem algorytm i napisalem program wiec nie pytajcie o co w nim chodzi bo tez bym chcial to wiedziec. Ważne że działa :D Pozdrawiam! #include #include using namespace std; int main() { int n,m,i; double x,z,y,p,d; cout cin >> x; cout cin >> n; cout cin >> m; y = 0; p = 0; d = 1; if(x cout else { while(p!=x) { if(p>x) { y=y-d; d=d/10; if(m) { m=m-1; y=y+d; p=1; i=0; } else {break;} } else { y=y+d; p=1; i=0; } while(i { p=p*y; i=i+1; } } cout } getch(); } Share this post Link to post Share on other sites
robaks 10 Posted November 4, 2006 Hmm moze moj bedzie latwiejszy do zrozumienia, dodalem komentarze jak cos ;] #include #include using namespace std; int main() { int n; //stopien pierwiastka short m; // ilosc miejsc po przecinku double x; // liczba pierwiastkowana double w; // zmienna do sprawdzania pierwiastka double p; // zmienna p okreslajaca pierwiastek double z = 1; // zmienna do obliczania ilosci miejsc po przecinku podanej w m cout cin >> x; cout cin >> n; cout cin >> m; //ZAMIANA LICZBY M NA ILOSC MIEJSC PO PRZECINKU for(int i = 0; i { z /= 10; } p = 0; w = 1; //OBLICZANIE LICZBY do { p+=z; // dodanie do zmiennej wartosci w = 1; // wynik na poczatku rowny 1 for(int i = 0; i { w = w * p; // sprawdzanie pierwiastka } } while(w p-=z; // odejmij jedna wartosc(bo w { cout } getch(); } Share this post Link to post Share on other sites